使用backbone.marionette的嵌套视图

时间:2013-10-30 13:11:26

标签: kendo-ui marionette single-page-application

在我的SPA中使用backbone.marionette我试图在另一个CompositeView的标签内渲染一个CompositeView。

我已成功渲染控件,但事件未在DOM中注册

这是我的代码示例:

MainView:view.js(收到subView并在标签内呈现)

define(["marionette", "backbone", "kendo", "../SubView/view"],
    function (Marionette, Backbone, kendo, subView) {
        var View = Marionette.CompositeView.extend({
            template: "MainView/template.t",            
            onRender: function () {

        var tabStrip = this.$("#tabStrip").kendoTabStrip().data("kendoTabStrip");                
                    tabStrip.append({
                        text: "Sub View",
                        content: new subView().render().$el.html()
                    });

            },
            onShow: function () {
                //Set Default Active Tab
                var tabStrip = $('#tabStrip').data().kendoTabStrip;
                tabStrip.select(0);
            },
        });

        return View;

MainView:template.t

<div id="tabStrip"></div>

SubView:view.js

define(["marionette", "backbone", "kendo"],
    function (Marionette, Backbone, kendo) {
        var View = Marionette.CompositeView.extend({
            template: "SubView/template.t",            
            },            
            onRender: function () {
                var data = [{ Description: "Test 1", ID: 1 }, { Description: "Test 2", ID: 2 }]
                this.$("#ddlTest").kendoDropDownList({
                    dataSource: data,
                    dataTextField: "Description",
                    dataValueField: "ID",
                });                
                return this;
            },
        });

        return View;
    });

SubView:template.t

<input id="ddlTest"/>

任何帮助都将受到高度赞赏。

0 个答案:

没有答案