Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ember.js从控制器获取数据_Javascript_Ember.js - Fatal编程技术网

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
模型的一个属性。只需找到模型记录,就可以访问该控制器中定义的任何公共属性或方法