Ember.js 从Ember.Textfield子类获取控制器属性

Ember.js 从Ember.Textfield子类获取控制器属性,ember.js,Ember.js,如何从扩展Ember.TextField的类中的函数获取应用程序控制器(或任何其他控制器)中定义的属性 例如: App.StratsController = Ember.ArrayController.extend ({ dateLimits: [ {'SPX': ['8/1/2000', '9/3/2013']}, {'INDU': ['9/1/2000', '10/3/2013']}] }); App.CustomField = Ember.Te

如何从扩展Ember.TextField的类中的函数获取应用程序控制器(或任何其他控制器)中定义的属性

例如:

App.StratsController = Ember.ArrayController.extend ({
    dateLimits: [
         {'SPX': ['8/1/2000', '9/3/2013']},
         {'INDU': ['9/1/2000', '10/3/2013']}]
});

App.CustomField = Ember.TextField.extend({
   didInsertElement: function() {
      // need to access dateLimits in here
});

创建自定义字段时将其传入

{{view App.CustomField dateLimits=dateLimits}}

App.CustomField = Ember.TextField.extend({
   didInsertElement: function() {
      console.log(this.get('dateLimits'));
   }
});
或者,如果它位于另一个控制器上,只需添加所需控制器的需求,然后使用
controllers.othercontroller.property


感谢您的回复。我在我的真实程序中做了与您的示例完全相同的事情,遇到了一个非常奇怪的问题。谢谢您的回复。我在我的真实程序中做了与您的示例中所示完全相同的事情,并遇到了一个非常奇怪的问题。在您的示例中,我可以执行以下操作:console.log(this.get('dateLimits')[0].SPX[0]);在我的程序中,console.log(this.get('dateLimits')可以正常工作;它打印出[Object{SPX=[2]}[Object{indu=[2]}]。但是如果我打印了:console.log(this.get('dateLimits')[0]),我会得到:TypeError:this.get(…)是未定义的。您认为可能是什么原因造成的?您的程序中的上下文是什么?抱歉,我不太确定要寻找什么来回答您的问题。我在导致错误的语句上的firebug中添加了一个断点,并查看了“this”。它下面有一堆内容。不确定这是否是您要问的;下面是“this”下的“context”字段显示未定义。但是this.get('dateLimits')可以正常工作。