我有一些类似下面的代码。
App = Ember.Application.create({ });
App.Router.map(function() { this.route('users', {path: '/'}); });
App.UsersRoute= Em.Route.extend({
model: function() {
return [{name:'John'}, {name:'Taro'}];
},
});
App.UsersController = Em.ArrayController.extend({
greeting: 'hello',
});
App.UserController = Em.ObjectController.extend({
greeting: 'good morning',
});
Em.TEMPLATES['users'] = Em.Handlebars.compile(
'{{#each user in controller itemController="user"}}' +
'<p>{{greeting}} {{user.name}}</p>' +
'{{/each}}'
);此代码显示这些内容。
good morning John
good morning Taro但我想像下面这样显示。
hello John
hello Taro我确认了上面显示的removing itemController选项。但出于某些原因,我想使用itemController选项。
如何使用itemController访问#each作用域中的UsersController的greeting属性?
发布于 2013-09-09 09:28:55
我找到了一个解决方案。
https://github.com/emberjs/ember.js/pull/2614
使用parentController实现了我的目标。
Em.TEMPLATES['users'] = Em.Handlebars.compile(
'{{#each user in controller itemController="user"}}' +
'<p>{{parentController.greeting}} {{user.name}}</p>' +
'{{/each}}'
);https://stackoverflow.com/questions/18688425
复制相似问题