我有两种不同的表单组件。根据下拉菜单中选择的内容,我想使用不同的组件。
如何在控制器内部(我观察下拉列表更改)指定应在相应模板中调用哪个组件?
答案 0 :(得分:2)
两种方式:
1)在控制器上设置一个属性,并在controller.js
中使用ifdropdownChange: function() {
if(stuff) {
this.set('useComponentOne', true);
} else {
this.set('useComponentOne', false);
}
}.observes('...')
在模板中
{{#if useComponentOne}}
{{componentOne}}
{{else}}
{{componentTwo}}
{{/if}}
2)使用组件绑定,即在controller.js
中dropdownChange: function() {
if(stuff) {
this.set('componentName', 'One');
} else {
this.set('componentName', 'Two');
}
}.observes('...')
并在模板中
{{component componentName}}