所以我有这个查询为我提取数据:
App.ListRoute = Ember.Route.extend({
model: function() { return $.getJSON('php/getlines.php'); }});
我在我的句柄栏中显示了这段代码:
<tbody>
{{#each content}}
{{view App.lineItem contextBinding="this"}}
{{/each}}
</tbody>
我正在考虑将我的html字段设为一个按钮,单击该按钮会对条目进行排序:
<th class="center"{{action 'sortBy' 'invoice'}}>Invoice</td>
按功能排序:
sortBy: function(property) {
this.set('sortProperties', [property]);
this.set('sortAscending', !this.get('sortAscending'));
}
但是,我一直收到这个错误:
错误:没有处理事件'sortBy'。
如果单击该按钮,我不确定如何对条目进行排序?
答案 0 :(得分:0)
在每个循环中,提及itemController="ListsController"
并在ListsController中编写sortBy
函数。
基本上,你会指出动作应该冒出哪个控制器。
答案 1 :(得分:0)
正如@Ajey所提到的,您必须使用ListsController
动作创建sortBy
。已为sortBy
定义ArrayController
(请参阅http://emberjs.com/api/classes/Ember.ArrayController.html#method_sortBy),但我非常确定添加相同名称的操作不会覆盖它。
App.ListsController = Ember.ArrayController.extend({
actions: {
sortBy: function(property) {
this.set('sortProperties', [property]);
this.set('sortAscending', !this.get('sortAscending'));
}
}
});