从模板访问 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
任何建议
最接近的,你会得到它基于另一个属性在控制器中创建一些动态属性。 真正的问题是,如果其他属性发生变化,余烬将不知道更新它。 在下面的示例中,如果 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 a la
dynamoProperty: function(){
return this.get('edwin.' + this.get('dynamo'));
}.property('dynamo', 'edwin.{uno,dos,tres}')
http://emberjs.jsbin.com/beziq/2/edit
相关文章:
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- JS对象密钥序列
- 在ajax调用中阻止来自JS对象的函数
- 属性未添加到JS对象
- 将字符串转换为JS对象
- 使用lodash查找具有truthy值的JS对象的属性
- 将toString方法暴露给nashorn中的js对象
- JSON数组转换为JS对象数组
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- 以非ajax方式将js对象传递给mvc操作
- JS对象->来自jquery ajax的JSON提交->php迭代
- XMLHttpRequest发送JS对象
- 使用游标循环将JS对象添加到数组中
- 动态(重新)创建iframe内容不会重置Chrome中的JS对象
- 将JS对象数组转换为嵌套形式的最有效方法
- 在知道对象值的情况下,确定数组中JS对象的索引
- JS对象文字中的方法和子方法