我有一个Component,我想在Controller中设置它的属性。我似乎在使用计算的别名来设置它时遇到了问题。请参阅下面的代码。
我的组件如下:
TM.MyModalComponent = Ember.Component.extend({
totalWidth: '200px',
widthStyle: function() {
console.log(this.get('totalWidth'));
return 'width:'+this.get('totalWidth');
}.property('totalWidth'),
});
我试图在父控制器中设置属性totalWidth,如下所示:
modalWidth:Ember.computed.alias("myModalComponent.totalWidth"),
this.set("modalWidth",'100px');
当我尝试控制日志时它返回一个未定义的值,并使用
来返回错误
Property set failed: object in path "myModalComponent" could not be found or was destroyed.
任何帮助将不胜感激。
由于
答案 0 :(得分:1)
请参阅这个小提琴上的工作示例,http://jsfiddle.net/gXcfL/28/。将控制器属性绑定到模板中的组件属性。
<script type="text/x-handlebars">
<div class="container">
<div>Click to set controller's width value</div>
<button class="btn" {{action 'changeWidth'}}>Click</button>
{{view TM.MyModalComponent
totalWidth = modalWidth
}}
</div>
</script>
<script type="text/x-handlebars" data-template-name="component">
{{widthStyle}}
</script>