我进行了搜索和搜索,但所有示例都显得过时,不在Ember CLI强制执行的文件结构中等。
无论如何,说我在app / models / employee.js中有一个模型:
export default DS.Model.extend({
firstname: DS.attr('string'),
lastname: DS.attr('string'),
});
app / routes / employees.js中的路线:
export default Ember.Route.extend({
model: function() { return this.store.findAll('employee'); },
});
app / routes / employees.hbs中的模板:
{{#each model as |employee|}}
<tr><td>{{employee.firstname}}</td><td>{{employee.lastname}}</td></tr>
{{/each}}
我需要添加什么才能按名字排序该表,例如?
我收集我应该使用Ember.computed.sort(),类似于:
sortedEmployee: Ember.computed.sort('employees', ['firstname'])
然后在模板中执行{{#each sortedEmployee as ...}}
,但我显然没有在正确的位置定义sortedEmployee。
答案 0 :(得分:3)
应用程序/控制器/ employees.js
tintColor
应用程序/路由/ employees.hbs:
export default Ember.Controller.extend({
sortProperties: ['firstname:asc'],
sortedEmployees: Ember.computed.sort('employees', 'sortProperties')
});
JSbin中的示例:http://emberjs.jsbin.com/regowa/7/edit?html,css,js,output
答案 1 :(得分:2)
您走在正确的轨道上,请尝试以下方法:
<table class="table table-hover">
<tr>
<th>#</th>
<th>Nome</th>
<th>Email</th>
<th>Administrador</th>
<th>Login</th>
<th>Remover</th>
</tr>
<tr ng-repeat="usuario in usuarios | filter: global.search">
<td>{{$index+1}}</td>
<td><a ng-href="#/edita/usuario/{{usuario._id}}">{{usuario.nome}}</a></td>
<td>{{usuario.email}}</td>
<td>{{usuario.administrador}}</td>
<td>{{usuario.login}}</td>
<td><button ng-click="removeUser(usuario)" class="btn-link"><i style="float: right;" class="icon-remove"></i></button></td>
</tr>
</table>
我认为必须在组件/控制器上定义一个额外的属性是很奇怪的,但这种方式有效。