代码之家  ›  专栏  ›  技术社区  ›  hjuster

主干-在视图中使用提取的数据

  •  0
  • hjuster  · 技术社区  · 11 年前

    我已经将数据加载到Collection变量中,但我不确定下一步该怎么做。如何使用这些数据并用它填充模板?这是我在视图中的渲染函数的代码。

        Collection.url = "../data";
        Collection.fetch();                         
        var compiled = _.template(self.data);                               
        self.$el.prepend(compiled(/*MY JSON SHOULD GO HERE*/));
    

    我是一个新手,所以每一次帮助都很感激。

    以下是集合的定义:

    var MainCollection = Backbone.Collection.extend({ 
            model: MainModel,
            //localStorage: new Backbone.LocalStorage("kitchen"),
            initialize: function (models,options) { }
        }), Collection = new MainCollection;
    

    以下是Collection和Collection转换为JSON的日志: enter image description here

    1 回复  |  直到 11 年前
        1
  •  2
  •   Loamhoof    11 年前

    假设Collection是你收藏的名字(我不得不说这很令人困惑), this 是您想要的:

    self.$el.prepend(compiled(Collection.toJSON()));
    

    编辑:
    不要忘记,您正在异步获取数据。因此,当您评估模板时,数据还没有返回,并且您的集合仍然是空的。监听请求的结束(我认为是“sync”事件)或其他一些事件,这样您就可以知道集合何时被填充,或者使用fetch方法的success选项来指定回调:)

    至于你的日志。当您记录一个对象时,它将自动更新,直到您检查详细信息为止。因此,您在它为空时进行了记录,但在填充后(几毫秒后)进行了检查。