使用Backbone创建模态 - 将变量传递给模板

时间:2015-01-03 03:57:34

标签: node.js backbone.js

我试图找出是否可以将变量传递给模板。

以下是模板:

<script type="text/template" id="modal-template">

        <table class="table">
            <thead>
            <tr>
                <th>Team Name</th>
            </tr>
            </thead>
            <tbody>

            <% for(var i=0; i
            <XXX.length
                    ; i++) { %>
                <tr>
                    <td>
                        <a href='/users/<%=user._id%>/teams/<%= teams[i]._id%>/teamDashboard'>
                            <%= XXX[i].teamName %>
                        </a>
                    </td>
                </tr>
                <% } %>
            </tbody>
        </table>
    </div>

</script>

我想将上面的模板传递给变量,让我们说它是上面和下面标识为XXX的变量。

<script>

    $(function($) {

        var XXX = {};
        //how can I pass the template the variable XXX???

        var Modal = Backbone.Modal.extend({
            template: _.template($('#modal-template').html()),
            cancelEl: '.bbm-button'
        });
        $('.ImportTeamsFromTeamSnap').on('click', function(){
            var modalView = new Modal();
            $('.app').html(modalView.render().el);
        });
    });
</script>

基本上我希望模板根据变量XXX进行不同的渲染。这可能是一个把手模板,或任何类型的模板,使其成为可能。

这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以将模型传递给模态。像这样:

<script>

    $(function($) {

        var XXX = {};
        //how can I pass the template the variable XXX???

        var Modal = Backbone.Modal.extend({
            template: _.template($('#modal-template').html()),
            cancelEl: '.bbm-button'
        });
        $('.ImportTeamsFromTeamSnap').on('click', function(){
            var MyModel = Backbone.Model.extends({});

            var modalView = new Modal();
            modalView.model = new MyModel(XXX);
            $('.app').html(modalView.render().el);
        });
    });
</script>