即时通讯使用主干JS和im有显示来自MODEL的数据的麻烦。 任何人都知道这是如何工作的? TIA
VIEW.JS -
render: function() {
///EDITED TO SIMPLIFY
var toModel = new tModel();//tModel is the name of the model
console.log(toModel.get('data'));//?? UNDEFINE
}
MODEL.JS -
data:[
{ text: "Google", href: "http://google.com" },
{ text: "Facebook", href: "http://facebook.com" },
{ text: "Youtube", href: "http://youtube.com" }
],
答案 0 :(得分:2)
model.js
MyModel = Backbone.Model.extend({
defaults: {
data: [
{
text: "Google",
href: "http://google.com"},
{
text: "Facebook",
href: "http://facebook.com"},
{
text: "Youtube",
href: "http://youtube.com"}
]
}
});
view.js
MyView = Backbone.View.extend({
initialize: function() {
var x = this.model.get('data');
console.log(x);
}
});
var View = new MyView({
model: new MyModel
});
答案 1 :(得分:0)
它是this.model.get('data')
(在模型中删除大写字母M,它引用类而不是实例成员)。
此外,如果直接从事件处理程序调用{{1}},则需要确保render
已正确绑定到render方法中的类实例(使用this
的常规内容而不是javascript中的that
;我主要在Coffeescript中这样做,这样做更容易一些。)