Emberドキュメントによると、EmberJS最新1.7.0を使用してSPAを開発しています。ルートにはコントローラーへの参照を保持するプロパティが含まれていますが、すべてのルートで常に未定義を返します。
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 は常に未定義であるため、コントローラー自体も同様です。