eng*_*gma 2 javascript ember.js ember-router ember-controllers
根据Ember docs,我正在使用EmberJS最新的1.7.0开发SPA,该路由包含一个属性,该属性包含对控制器的引用,但它总是在我的所有路由中返回undefined.
ApplicationRoute = Ember.Route.extend({
  queryParams: {
      tsk: {
          // Opt into full transition
          refreshModel: true
      }
  },
  model: function(params) {
      var task = {"name" : "task"};
      this.controller.set('currentTask',task);
      return task;
  }
});
还有另一条路线
SubfileRoute = Ember.Route.extend({
  model : function(params) {
      console.log(this.controllerName);
      console.log(this.controller);
  }
});
这两个console.log(this.controllerName);和console.log(this.controller);是不确定的,
如何正确使用ember控制器?似乎工作的唯一方法是通过this.controllerFor()
我也尝试过使用这种方法:
needs:'application',
currentTask : Ember.computed.alias('controllers.application.currentTask'),
而且currentTask总是未定义的,所以作为控制器它自己.
如果要在控制器上设置属性,则应使用setupController挂钩:
model: function(params) {
  return {"name" : "task"};
},
setupController: function(controller, task) {
  controller.set('currentTask',task);
}
| 归档时间: | 
 | 
| 查看次数: | 1398 次 | 
| 最近记录: |