让我对ember感到困惑的一件事就是我可以在其模型中使用什么语法,特别是像数组一样的结构。我可以用FOR OF循环替换这个函数吗?
this.model.foo.forEach(function (baa) {
types.push(baa.get("type"));
});
答案 0 :(得分:1)
Ember中的原生JS数组使用NativeArray
mixin(参见here)填充额外的优点,除非您明确关闭该功能。
NativeArray mixin包含使本机Array支持Ember.MutableArray及其所有依赖API所需的属性。除非您将Ember.EXTEND_PROTOTYPES或Ember.EXTEND_PROTOTYPES.Array设置为false,否则将自动应用。否则,您可以随时通过调用Ember.NativeArray.activate
来应用mixin
因此,例如,如果您愿意,可以使用属性值filter
您的本机数组,并使用本机数组已有的for of
功能。
App.IndexRoute = Ember.Route.extend({
model: function() {
var ar = [
{ name: 'red'},
{ name: 'yellow'},
{ name: 'blue'}
];
for(a of ar){
console.log(a.name);
}
return ar.filterBy("name", "red");
}
});
工作演示here