繁体   English   中英

从模板访问ember js对象

[英]Access ember js object from template

我有一个余烬控制器如下

App.IndexController = Ember.Controller.extend({
   edwin:{
    uno:'hola',
    dos:'hola dos',
    tres:'hola tres'
  }
});

我的模板需要属性edwin的值,如果我将属性作为

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

它工作正常,但是当我尝试时,我需要从其他变量中选择对象元素

 <script type="text/x-handlebars" data-template-name="index">
  {{edwin['dos']}}
  </script>

要么

 <script type="text/x-handlebars" data-template-name="index">
  {{edwin[myvar]}}
  </script>

我无法显示这是我的jsbin的值

http://emberjs.jsbin.com/xupuse/1/edit

有什么建议么

您将最接近它,基于另一个属性在控制器中创建一些动态属性。 真正的问题是,如果其他属性发生更改,则ember将不知道如何对其进行更新。 在下面的示例中,如果edwin.xxxx更改,则计算的属性将不知道*,而如果dynamo更改,则将知道(因为正在监视它)。

App.IndexController = Ember.Controller.extend({
  edwin:{
    uno:'hola',
    dos:'hola dos',
    tres:'hola tres'
  },
  dynamo: 'uno',
  dynamoProperty: function(){
    return this.get('edwin.' + this.get('dynamo'));
  }.property('dynamo')
});

http://emberjs.jsbin.com/beziq/1/edit

*我有点像躺在这里,您可以在edwin上指定每个属性,并且无论它是否应用于dynamoProperty la

  dynamoProperty: function(){
    return this.get('edwin.' + this.get('dynamo'));
  }.property('dynamo', 'edwin.{uno,dos,tres}')

http://emberjs.jsbin.com/beziq/2/edit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM