【问题标题】:Backbone Boilerplate - fetch method don't refresh collectionBackbone Boilerplate - 获取方法不刷新集合
【发布时间】:2013-05-15 21:17:36
【问题描述】:

这是我在这里的第一个问题,所以请耐心等待并原谅我的英语:)

当我在浏览器地址栏中输入链接时,一切正常。但是当我通过单击元素在浏览器中执行此操作时,集合是空的。但主要问题是服务器总是有相同的响应,但获取“不加载”任何项目,因此查看呈现空集合。

我使用 Backbone Boilerplate,

Browser.Views.Catalog - 它是 Backbone.View Browser.Catalog - 它属于 Backbone.Collection

我的路由器:

var Router = Backbone.Router.extend({

    routes: {
        '' : 'browse'          
    },
    refreshCatalog: function(folder){
        app.layout.setViews({
            "#catalog" : new Browser.Views.Catalog({
                collection: app.catalog
            })
        }).render();
    },
    browse: function(folder){

        app.catalog = new Browser.Catalog();

        app.folders.fetch({
            error: function() { console.log(arguments); },
            success: this.refreshFolders(folder),
            data: $.param({folder: folder}),
            cache:false
        });
        //app.catalog = new Browser.Catalog();            
        app.catalog.fetch({
            error: function() { console.log(arguments); },
            success: this.refreshCatalog(folder),
            data: $.param({folder: folder}),
            cache:false
        });
    },

【问题讨论】:

    标签: javascript backbone.js fetch router backbone-boilerplate


    【解决方案1】:

    我相信你应该在初始化函数中设置目录

    app.catalog = new Browser.Catalog();
    

    应该进去(添加这个功能)

    initialize: function (options) {
        app.catalog = new Browser.Catalog();
    }
    

    页面加载时会调用初始化函数,因此在浏览到#catelog 时会设置为http://backbonejs.org/#Router-constructor

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-03
      • 2017-01-31
      • 2013-07-29
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多