我是emberjs的新手,但我真的想了解更多。我正在用ember构建一个webapp。
所以,问题如下。我有一个页面(用户),它应该显示在models / users.js中定义的所有对象用户。当我从我的其他api加载用户对象时,我想在用户块(div id = users-id)上显示'处理...'(我使用jquery blockui)。我不知道我是否可以在userRoute上做到这一点。或者我应该把它放在别的地方?
==my users.hbs
<div id="users-id" class="jumbotron">
<ul class="users-listing">
{{#each user in model}}
<li>{{user.name}} - {{user.email}}</li>
{{/each}}
</ul>
</div>
==usersRoute.js
App.UsersRoute = Ember.Route.extend({
setupController: function(controller){
$('#users-id').block({
message: 'processing...'});
$.getJSON('.../users').then(function(data){
Ember.run(function() {
controller.set('model', data.body);
});
});
$('#users-id').unblock();
}
});
==usersController.js
App.UsersController = Ember.ArrayController.extend({
sortProperties: ['name'],
sortAscending: true // false = descending
});
==user.js (model)
App.User = DS.Model.extend({
name : DS.attr(),
email : DS.attr()
});
==store
App.ApplicationAdapter = DS.FixtureAdapter;
App.store = DS.Store.extend()
==router
App.Router.map(function(){
this.resource('users', function(){
this.resource('user', { path:'/:user_id' }, function(){
this.route('edit');
});
this.route('create');
});
});
我不知道是否可以这样做.. 谢谢。
答案 0 :(得分:0)
您可能会对2种解决方案中的1种感兴趣。
您当前方法的问题是在解决model / setupController之后才会注入该路由的模板