Javascript Ember.js从控制器获取数据
我有一个控制器,在其中定义Javascript Ember.js从控制器获取数据,javascript,ember.js,Javascript,Ember.js,我有一个控制器,在其中定义TakenSeatNumbers变量: TravelClient.TourSeatsController = Ember.ObjectController.extend({ selectSeat: function(seat) { var orderTransaction = TravelClient.store.transaction(); var takenSeatNumber = orderTransaction.createRecord(Tr
TakenSeatNumbers
变量:
TravelClient.TourSeatsController = Ember.ObjectController.extend({
selectSeat: function(seat) {
var orderTransaction = TravelClient.store.transaction();
var takenSeatNumber = orderTransaction.createRecord(TravelClient.TakenSeatNumber, {number: seat.get('id')});
}
});
如何从tour/seats
模板访问TakenSeatsNumbers
?模型Tour
位于TourSeatsController
的上下文中
根据我的评论,将该函数变量(
takensatsnumber
)升级到控制器内的属性中,使其成为公共的,类似于以下内容:
TravelClient.TourSeatsController = Ember.ObjectController.extend({
takenSeatNumber: null,
selectSeat: function(seat) {
var orderTransaction = TravelClient.store.transaction();
this.set('takenSeatNumber',
orderTransaction.createRecord(TravelClient.TakenSeatNumber, {number: seat.get('id')})
);
}
});
您可以将此函数变量更改为控制器属性,使其成为公共变量。在
selectSeat
函数之外声明它,并将其标记为propertyno。您应该执行takenSeatsNumber:null,选择seat:function(seat){…}
,然后从selectSeat
函数中像this.set('takenSeatsNumber',orderTransaction…
)一样填充它,并在模板中呈现为{takenSeatsNumber}}
。写下这个作为答案-我会接受这个。顺便问一下,如果我将来需要从另一个控制器获取此数据怎么办?技巧是什么?当你说从另一个控制器获取此数据时,你的确切意思是什么?我如何从控制器的订单事务中访问TakensatsNumber
记录,不同于到urSeatsController
?这是一个对象控制器
,因此它在Ember中相当于一个装饰器。它应该是TourSeat
模型的一个属性。只需找到模型记录,就可以访问该控制器中定义的任何公共属性或方法