是否可以在單箇中央視圖中使用通過require.js/AMD定義的不同定義的模型?我的意思是單獨定義的模型,而不是 集合中的一個。
如果是,它們是如何在定義的回調函數 的JSON部分(),它定義了中央視圖,在其VARS,在它的屬性等的 功能引用只能有一個this.model,對?
A View
的this.model
只是一種提供模型視圖的方法。您還可以通過任何你想要的其他選項的視圖,就像這樣:
var YourView = Backbone.View.exend({
initialize: function(options) {
this.foo = options.foo;
}
});
var modelA = new Backbone.Model();
var modelB = new Backbone.Model();
var yourView = new YourView({model: modelA, foo: modelB});
// yourView.model == modelA
// yourView.foo == modelB
是否有可能呈現不同的模板,可能由 瓦爾人口從這些不同的模式,有條件的,從這個 單內中央視圖?
是。舉例來說,這裏是一個例子,如果我們增加一個渲染方法YourView
:
render: function() {
if (this.model.get('bar')) {
this.$el.html(this.templateA(this.model.toJSON());
} else {
this.$el.html(this.templateB(this.foo.toJSON());
}
}
可以使用通過require.js/AMD 定義不同的定義集合在一個單一的中央看法?是的,就像你在多個模型中傳遞的一樣。如果您使用Require,則無關緊要;你可以通過它來傳遞Backbone對象/類。
是否可以使用通過require.js/AMD在 單個集合中定義的不同定義的模型? (僅憑這一點就可以實現第一個目標, 僅引用此功能集合。) 是的,只是把所有的模型中單個集合,像這樣:
var modelA = new ModelClass();
var modelB = new SomeOtherModelClass();
var collection = new Backbone.Collection([modelA, modelB]);
唯一的限制是一個Collection
只能有一個model
屬性,這意味着只要您創建一個新的Model
到Collection
(例如通過fetch
或create
),它們都將是該模型。
(這是可能得到解決,甚至,如果要更換的model
使用自定義功能,但你不應該需要做的是,用)
是的,這是可能的。請提供一個例子。 – 2014-09-29 16:52:39
這是一個問題中的很多問題:-) – machineghost 2014-10-07 04:19:34