无法获得模型属性比较结果

时间:2013-04-27 11:32:43

标签: backbone.js

在我的骨干系列中,这是我拥有的模型数据:

var student = [
        {name:"student0",scored:75},
        {name:"student1",scored:49},
        {name:"student2",scored:25}
    ]

从模型数据(集合),我试图让'得分'属性超过60 ... 要做到这一点,我使用这种方法,

点击我正在调用名为'showHighScore'的方法,

getHighSocre:function(){
        return _.each(this.collection.models, function(item){
            return parseInt(item.get('scored')) > 60
        })
    },
    showHighScore:function(){
        var highscore = this.getHighSocre();
        console.log(highscore);//i am getting the result as undifined
    }

当'showHighScore'调用时,我正在循环并返回值,但是控制台给我的结果为'undefined'..这样的方法是错误的..或者获取模型集合的正确方法是什么其中“scored”属性超过60 ...

任何人都帮助我..提前感谢。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

var student = [
        {name:"student0",scored:75},
        {name:"student1",scored:49},
        {name:"student2",scored:25}
    ];

var test = _.filter(student, function(item){ return item.scored > 60 });

console.log(test);

DEMO && CODE

要获得json,您应该使用

var students = this.collection.toJSON();

然后从方法返回一个新集合,或刷新当前集合。