骨干,同一型号的不同程度

时间:2014-10-01 13:41:36

标签: javascript backbone.js model-view-controller

我试着了解Backbone的工作原理以及模块化代码的最佳形式。 我正在制作一个不同页面的应用程序。在其中一个页面中,我有两个不同的部分,一个树和一个列表。我需要在将来的页面中使用相同的树,这就是问题所在。怎么办?

我在同一模特的不同程度上思考。但我不知道我是否可以这样做。 换句话说,我可以为页面的不同部分做不同的模型。

这样做的最佳形式是什么?

好的,我尝试这样做:

在控制器中创建新的mainModel

define(function(require) {
    var controller = function() {
        this.initialize = function() {
            // global variables
            var $ = require('jquery'),
                _ = require('underscore'),
                Backbone = require(['backbone']);
            // module variables
            var mainmodel = require('mainModel'),
                view = require('page/views/index');
            // execute
            this.mainmodel = new mainmodel();
            this.view = new _view({
                model: this.mainmodel
            });
        };
    };
    return controller;
}); 

在mainModel中创建两个新模型

define(['treeModel', 'pageModel'], function(treemodel, pagemodel) {
    return Backbone.Model.extend({
        // init
        initialize: function() {
            // create new model
            this.treemodel = new treemodel();
            this.pagemodel = new pagemodel();
        }
    });
});

但我无法在视图中访问新模型。

0 个答案:

没有答案