Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Ember.js和arrangedContent_Ember.js - Fatal编程技术网

Ember.js和arrangedContent

Ember.js和arrangedContent,ember.js,Ember.js,谁能给我解释一下安排内容的目的吗 文档说明可以在子类中覆盖它: 代理假装的数组。在默认的ArrayProxy实现中,这与内容相同。ArrayProxy的子类可以重写此属性以提供排序和筛选等功能 我感到困惑的是它与内容的关系。我可以在源代码中看到,它在内容上有一个计算属性: arrangedContent: Ember.computed('content', function(){ return this.get('content'); } 我认为我说得对,你永远不应该绑定到内容,而应该绑定

谁能给我解释一下安排内容的目的吗

文档说明可以在子类中覆盖它:

代理假装的数组。在默认的ArrayProxy实现中,这与内容相同。ArrayProxy的子类可以重写此属性以提供排序和筛选等功能

我感到困惑的是它与内容的关系。我可以在源代码中看到,它在内容上有一个计算属性:

arrangedContent: Ember.computed('content', function(){
  return this.get('content');
}
我认为我说得对,你永远不应该绑定到内容,而应该绑定到arrayProxy本身

我假设同样适用于arrangedContent


我只是使用arrangedContent根据需要过滤数组并绑定到arrayProxy本身,还是我遗漏了什么?

你完全正确:当绑定到值或触发方法(如
addObject
)时,应该始终以代理本身为目标。使用
arrangedContent
允许Ember操作集合的属性,如其排序顺序或所选项目,而无需在基础数组上更改这些属性

由于单个对象数组可以是应用程序许多部分的基础数据,因此您不必更改数组本身


Jame的Croft有一个很好的关于代理的指南:

如果我只在内容上有一个计算属性,如上所述,arrangedContent计算属性只有在初始化数组时才会触发。我想它可能是在绑定到车把模板时触发的。还有什么我应该做的吗?如果可以的话,再加上一百万,作为链接指南。一本关于ArrayProxy的非常好的教程,这是我不知道要找的答案。