从控制器访问Ember控制器属性

时间:2013-01-10 18:45:05

标签: ember.js

我有以下控制器:

App.ShowController = Ember.Controller.expend({
   buttonTitle: 'Create'
});

以下模板show.handlebars

<a href='#'>{{buttonTitle}}</a>

但是文字没有渲染。是否有特殊的调用来访问该属性?

1 个答案:

答案 0 :(得分:2)

通常,当显示视图(通过路由器)时,视图的上下文会自动设置为控制器,因此应该没有什么特别的。

以下是一个示例,其中MyApp.IndexController自动设置为IndexView的上下文(其模板为index模板):

MyApp = Ember.Application.create({});

MyApp.Router = Ember.Router.extend();

MyApp.Router.map(function(match) {
  match('/').to('index');
});

MyApp.IndexController = Ember.Controller.extend({
  buttonTitle: "create"
});

模板:

<script type="text/x-handlebars" data-template-name="index">
  {{buttonTitle}}
</script>

你可以尝试on this JSFiddle

N.B。:我在这里使用Ember v1.0.0-pre.2-239。将此示例升级为主控

有一些更改