我有一个打印预订列表的应用程序。有2条路线:
reservations.allReservations
reservations.newReservations
问题:
allReservations 路线运行良好。如果预订被删除或添加,它会自动反映在页面上。但是, newReservations 路由不会在更改时刷新 - 但是,如果我重新加载页面,更改就在那里。
设置:
两者的主要区别在于路由模型字段。对于 allReservation 路线,它是:
App.Reservations.all();
对于 newReservation 路线,它是:
App.Reservations.all().filterProperty('isNew',true);
应用程序模型和数据存储设置为在TodoMVC 应用程序的 Ember.js 版本中。
路线:
App.ReservationsNewReservationsRoute = Em.Route.extend({
model: function(){
return App.Reservation.all().filterProperty('isNew', true);
},
renderTemplate: function(){
this.render('reservationList');
},
});
控制器:
App.ReservationsNewReservationsController = Ember.ArrayController.extend({
isEmpty: function() {
return this.get( 'length' ) == 0;
}.property( '@each.length', '@each.isNew'),
});
模板reservationList.hbs:
{{#if isEmpty}}
<li>
<div class="text-center" style="height: 40px; margin: auto 0;">
<label>No Reservations!</label>
</div>
</li>
{{/if}}
{{#each controller}}
... print reservations ...
{{/each}}