ember.js,页面加载后如何显示数据?
我对emberjs很陌生,但我真的很想了解更多。 我正在用余烬和余烬数据构建一个webapp 因此,问题如下。我有一个页面(users),它应该显示用户在models/users.js中定义的所有对象。现在,据我所知,页面在加载把手{{outlet}中的任何数据之前等待答案(在我的例子中是RESTAPI),我想知道是否可以加载页面和(图像、css等)并显示数据ember.js,页面加载后如何显示数据?,ember.js,ember-data,Ember.js,Ember Data,我对emberjs很陌生,但我真的很想了解更多。 我正在用余烬和余烬数据构建一个webapp 因此,问题如下。我有一个页面(users),它应该显示用户在models/users.js中定义的所有对象。现在,据我所知,页面在加载把手{{outlet}中的任何数据之前等待答案(在我的例子中是RESTAPI),我想知道是否可以加载页面和(图像、css等)并显示数据 ==my users.hbs {{#each user in controller}} <li>{{user.name}}
==my users.hbs
{{#each user in controller}}
<li>{{user.name}} - {{user.email}}</li>
{{else}}
<li>no users… :-(</li>
{{/each}}
==usersRoute.js
App.UsersRoute = Ember.Route.extend({
model: function(){
return $.getJSON('/REST_API/users').then(function(data){
return data.body;
});
}
});
==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');
});
});
==my users.hbs
{{#控制器中的每个用户}
{{user.name}}-{{user.email}
{{else}
没有用户…:-(
{{/每个}}
==usersRoute.js
App.UsersRoute=Ember.Route.extend({
模型:函数(){
返回$.getJSON('/REST\u API/users')。然后(函数(数据){
返回数据.body;
});
}
});
==usersController.js
App.UsersController=Ember.ArrayController.extend({
sortProperties:['name'],
排序设置:真//假=递减
});
==user.js(模型)
App.User=DS.Model.extend({
名称:DS.attr(),
电子邮件:DS.attr()
});
==商店
App.ApplicationAdapter=DS.FixtureAdapter;
App.store=DS.store.extend()
==路由器
App.Router.map(函数(){
this.resource('users',function()){
this.resource('user',{path:'/:user_id'},function(){
此.route('edit');
});
这条路线(“创建”);
});
});
我想做的是在获取数据的同时加载页面,然后放入控制器
谢谢。模型方法将阻止渲染,直到承诺得到解决。您可以使用
设置控制器
来渲染模板,当从ajax获取数据时,每个
都将重新渲染,因为我们使用控制器.set('model',data.body);
进行了设置
usersRoute.js
App.UsersRoute = Ember.Route.extend({
setupController: function(controller){
$.getJSON('/REST_API/users').then(function(data){
// ajax callback is detached from runloop, so we attach again
Ember.run(function() {
controller.set('model', data.body);
});
});
}
});
{{#each user in model}}
<li>{{user.name}} - {{user.email}}</li>
{{else}}
<li>no users… :-(</li>
{{/each}}
用户。hbs
App.UsersRoute = Ember.Route.extend({
setupController: function(controller){
$.getJSON('/REST_API/users').then(function(data){
// ajax callback is detached from runloop, so we attach again
Ember.run(function() {
controller.set('model', data.body);
});
});
}
});
{{#each user in model}}
<li>{{user.name}} - {{user.email}}</li>
{{else}}
<li>no users… :-(</li>
{{/each}}
{{{#模型中的每个用户}
{{user.name}}-{{user.email}
{{else}
没有用户…:-(
{{/每个}}