Backbone.js模型(2)

时间:2012-09-11 09:03:35

标签: jquery backbone.js backbone-events backbone-views

即时通讯使用主干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" }
    ],  

2 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/g3U7j/6/

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中这样做,这样做更容易一些。)