是否有可能通過參數在Backbone.js中創建模型和視圖?
我儘量簡單的像是否可以使用參數在Backbone.js中創建模型和視圖?
var TestModel = Backbone.Model.extend({
initialize: function(test){
this.set('test',test);
alert("test");
}
});
,但我得到的消息this.set不是一個函數。
是否有可能通過參數在Backbone.js中創建模型和視圖?
我儘量簡單的像是否可以使用參數在Backbone.js中創建模型和視圖?
var TestModel = Backbone.Model.extend({
initialize: function(test){
this.set('test',test);
alert("test");
}
});
,但我得到的消息this.set不是一個函數。
您的示例代碼中存在語法錯誤,但應該可以正常工作。您還需要考慮到模型的attributes
作爲第一個參數,並引用通用options
對象作爲第二個參數(見代碼在這裏http://backbonejs.org/docs/backbone.html#section-28)
從你的示例代碼,但是,它看起來像你只是想將數據傳遞給模型,該模型將自動處理。
var TestModel = Backbone.Model.extend({});
var t = new TestModel({foo: "bar"});
console.log(t.get("foo"));
或者,如果你正在試圖獲得一些選項,你可以這樣做:
var TestModel = Backbone.Model.extend({
initialize: function(attrs, options){
console.log(options.foo);
}
});
var t = new TestModel(null, {
foo: "bar"
});
簡短的回答是肯定的。你沒有表現出足夠的代碼,但這個工程:
var TestModel = Backbone.Model.extend({});
var t = new TestModel({test: 'test'});
t.get('test');
>>> test
你不能什麼傳遞到initialize
方法,但你可以在一個散列通,當你實例化對象。
雖然,因爲它不會做創建(所以它總是會返回一個有效的模型)驗證,你最好這樣做:
var t = new TestModel();
t.set('test', 'test');
所以,如果你的價值不驗證你將能夠收到它的錯誤。
對象「這個」擁有所有值「屬性」。所以,如果你想訪問任何屬性,
你可以嘗試
alert(this.attributes.test)
你先初始化模式?你能告訴我們代碼,你在哪裏得到錯誤?此外,您在上面的代碼中缺少了}和a)。就目前而言,該代碼不會運行。 – tkone 2012-04-23 13:30:47
@tkone我忘了粘貼}),但我有代碼。 – Damir 2012-04-23 13:31:57