首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用itemController访问#each scope中的外部属性

如何使用itemController访问#each scope中的外部属性
EN

Stack Overflow用户
提问于 2013-09-09 04:36:39
回答 1查看 309关注 0票数 0

我有一些类似下面的代码。

代码语言:javascript
复制
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}}&nbsp;{{user.name}}</p>' +
  '{{/each}}'
);

此代码显示这些内容。

代码语言:javascript
复制
good morning John
good morning Taro

但我想像下面这样显示。

代码语言:javascript
复制
hello John
hello Taro

我确认了上面显示的removing itemController选项。但出于某些原因,我想使用itemController选项。

如何使用itemController访问#each作用域中的UsersController的greeting属性?

EN

回答 1

Stack Overflow用户

发布于 2013-09-09 09:28:55

我找到了一个解决方案。

https://github.com/emberjs/ember.js/pull/2614

使用parentController实现了我的目标。

代码语言:javascript
复制
Em.TEMPLATES['users'] = Em.Handlebars.compile(
  '{{#each user in controller itemController="user"}}' +
     '<p>{{parentController.greeting}}&nbsp;{{user.name}}</p>' +
  '{{/each}}'
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18688425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档