如何从如此声明的把手辅助函数访问应用程序控制器(App.ApplicationController):
Ember.Handlebars.registerBoundHelper('actionButtons', function(context, options) {
var thisUserId = context.content.get('userID');
var thatUserId = // Somehow get the user ID from the ApplicationController model
if (thisUserId == thatUserId) {
// Do Something
}
});
提前非常感谢。
答案 0 :(得分:2)
您不直接访问控制器,将值从控制器传递到帮助程序。
控制器:
App.ApplicationController = Ember.ObjectController.extend({
userId: 'foobar'
});
模板:
{{actionButtons userId}}
助手:
Ember.Handlebars.registerBoundHelper('actionButtons', function(userId, options) {
//userId now contains the userId from your controller
});
编辑:我建议将这些信息放在像App.Global.User
这样的全局变量中。但是如果真的需要函数中的控制器,你可以在容器中查找它:
var applicationController = App.__container__.lookup('controller:application');