Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干,获取采集中数据以外的参数_Backbone.js - Fatal编程技术网

Backbone.js 主干,获取采集中数据以外的参数

Backbone.js 主干,获取采集中数据以外的参数,backbone.js,Backbone.js,给定以下json: { "admin": false, "data": [ { value: key, value :key }, { value: key, value :key } ] } 我将我的收藏定义如下: var myCollection = Backbone.Collections.extend({ url: myurl.com, parse

给定以下json:

 { 
   "admin": false,
   "data": [
     {
      value: key, 
      value :key
     },
     {
      value: key, 
      value :key
     }
    ]
 }
我将我的收藏定义如下:

 var myCollection = Backbone.Collections.extend({
     url: myurl.com,
     parse : function (response) {
        return response.data;
     }
 }); 
它的工作原理很有魅力,它用数据数组填充我的集合,然而,在tamplate中,我需要在admin为true时呈现一些内容。但我找不到将该值传递给模板的方法


有没有可能u-kind的任何人都能指出正确的方向来解决这个问题?

您可以将admin标志保存为parse方法中集合的属性:

var myCollection = Backbone.Collection.extend({
    model: myModel,
    isAdmin: false,
    ...
    parse : function (response) {
        this.isAdmin = response.admin; //save admin flag from response
        return response.data;
    }
});
然后,您可以检索它并将其传递给模板,或在view render方法中以任何其他方式使用它:

var myView = Backbone.View.extend({    
    collection: new myCollection(),
    ...
    render: function(){
        //retrieve admin flag from collection:
        var isAdmin = this.collection.isAdmin;

        //you could add it into the json you pass to the template
        //or do anything else with the flag

    }                               
});

您可以尝试使用一个非常基本的渲染功能。

当您需要管理员信息时,请不要在解析中删除它,也请粘贴您的模板,以便我可以帮助您,谢谢!我自己也不知道,它很有魅力!这也很有用,因为我使用的是Python/Flask,而jsonify不允许顶级数组,所以我可以通过这种方式提取数据。