我试着了解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();
}
});
});
但我无法在视图中访问新模型。