Javascript 从模板访问ember js对象
我有一个余烬控制器如下Javascript 从模板访问ember js对象,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我有一个余烬控制器如下 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}}
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>
{{edwin.dos}
它很好用,
但是当我尝试时,我需要从其他变量中选择object元素
<script type="text/x-handlebars" data-template-name="index">
{{edwin['dos']}}
</script>
{{edwin['dos']}
或
{{edwin[myvar]}
我无法显示该值
这是我的jsbin
任何建议都是最接近的,您可以根据另一个属性在控制器中创建一些动态属性。真正的问题是,如果其他属性发生更改,ember将不知道如何更新它。在下面的示例中,如果edwin.xxxx更改了computed属性,则该属性不会知道*,而如果dynamo更改了,则该属性会知道(因为它正在监视它) *我躺在这里,你可以指定edwin上的每一个属性,它总是被标记为脏的,不管它是否适用于发电机
dynamoProperty: function(){
return this.get('edwin.' + this.get('dynamo'));
}.property('dynamo', 'edwin.{uno,dos,tres}')
这在车把中不受支持。如果您能提供一个真实的用例,我很乐意为您提供一个替代方案。这几乎就是我需要实现的区别:1。控制器是一个ArrayController。2.dinamo属性不是控制器的一部分,而是模型的一部分。Y需要属性在模型行的状态中应用css。
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')
});
dynamoProperty: function(){
return this.get('edwin.' + this.get('dynamo'));
}.property('dynamo', 'edwin.{uno,dos,tres}')