Ember.js 控制器绑定怪异

Ember.js 控制器绑定怪异,ember.js,Ember.js,如果我有以下控制器: myApp.IndexController = Ember.ObjectController.extend({ type: 'objectController', name: 'my name', controller: {name: "my controller name"}, }); 你会期望{{name}}会产生“我的名字”,它确实会 但是{{controller.name}}也会产生“我的名字” 有没有一种方法可以让一个名为“controller”(可

如果我有以下控制器:

myApp.IndexController = Ember.ObjectController.extend({
  type: 'objectController',
  name: 'my name',
  controller: {name: "my controller name"},
});
你会期望{{name}}会产生“我的名字”,它确实会

但是{{controller.name}}也会产生“我的名字”


有没有一种方法可以让一个名为“controller”(可以是财务控制器)的属性通过手柄绑定进行访问?

在您提到的上下文中,controller指的是indexController。因此,如果要访问indexController的controller属性,可以执行以下操作:

{{controller.controller.name}}

但是,我建议不要使用变量名“controller”。Ember有几个保留关键字,controller就是其中之一。使用保留关键字时可能会发生奇怪的事情,所以我最好远离它们。

我不这么认为。调用
{{controller}}
似乎引用的是实际的控制器,而不是控制器上的控制器属性。嗯,这太糟糕了!这意味着我的应用程序不能使用任何称为“控制器”的东西。如果使用
controller
作为变量,几乎肯定会给自己带来大问题