簡體   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