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 ArrayController中动态修改sortProperties值_Ember.js - Fatal编程技术网

如何在ember.js ArrayController中动态修改sortProperties值

如何在ember.js ArrayController中动态修改sortProperties值,ember.js,Ember.js,我使用的是ember 1.0 pre,有一个基本的数组控制器,它以默认的排序属性'id'开始 PersonApp.PersonController = Ember.ArrayController.extend({ content: [], sortProperties: ['id'], updateSort: function(column) { this.set('sortProperties', column); } }); 我想动态地设置它,并免费更新dom。但是

我使用的是ember 1.0 pre,有一个基本的数组控制器,它以默认的排序属性'id'开始

PersonApp.PersonController = Ember.ArrayController.extend({
  content: [],
  sortProperties: ['id'],
  updateSort: function(column) {
    this.set('sortProperties', column);
  }
});
我想动态地设置它,并免费更新dom。但是,当我执行一个简单的setter(如上所示)时,它不会更新视图或dom中的任何内容


如果我需要动态更新它,我该怎么做?

排序属性必须是数组,所以我不知道在您的情况下,
列是否是数组。

下面是一个js fiddle,显示了您对它的动态设置:

这个答案没有回答最初的问题,但我遇到了这个症状,并且有一个不同的根本问题

在我的例子中,我动态地更改了
sortProperties
,但这对我的模型数组没有任何影响。问题是,我正在从包装器方法读取支持数组,该方法无法观察
sortProperties
,因此即使
sortProperties
正在更新,我的模板也没有重新绘制基础数组


更新我的包装器方法以观察
sortProperties
直接起到了作用。

很好!正是我要找的!最后一个问题是关于你使用这个的问题。我注意到你去了全局应用设置它,但是如果我在路由器中,我应该更喜欢使用类似router.get(“personController”)的东西吗?是的,最好通过路由器访问控制器,而不是通过应用。