[英]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}')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.