【发布时间】:2017-02-15 00:34:26
【问题描述】:
sendAction 不适用于组件。当在视图中使用组件并将动作从组件发送到视图时。
确认-dailog.js
import Ember from 'ember';
export default Ember.Component.extend({
actions:{
closeConfirmDialog:function(){
this.sendAction('onCancel');
}
}
})
confirm-dailog.hbs
<div class="dialog" id="dialog">
<div class="text">{{text}}</div>
<div class="button"{{action 'closeConfirmDialog'}}>Cancel</div>
</div>
modal.js
import Ember from 'ember';
export default Ember.View.extend({
layoutName: 'components/modal-box',
actions:
{
closeDialog:function()
{
console.log('called model closedialog')
},
}
})
modal-box.hbs
<div class="dialog" id="dialog">
{{yield}}
{{confirm-dialog onCancel="closeDialog" text="Would you like to close the modal"}}
</div>
当我单击取消按钮时,closeConfirmDialog 动作被调用并从那里我试图发送 closeDialog 动作,但它显示错误 没有处理该动作' closeDialog'
here i have added screenshot of ui
余烬:1.8.1
Ember 数据:1.13.7
车把:1.3.0
jQuery : 1.11.1
【问题讨论】:
-
为什么在modal.js中使用Ember.View而不是Ember.Component?
-
@ykaragol Ember.Component 正在工作。但我有一些情况只适合视图。
-
你能把它变成一个玩意儿吗?实际上,在我们正在进行的 7 个项目中,我们从来不需要视图。
-
this.render(name, { into: 'application', outlet: 'modal', view:'common/modal' });就是这样。我用过视图
-
在文档中,视图参数被定义为:“与‘发布’路由相关的视图”。如果需要,您可以提供路线模板。因此不要使用视图。
标签: ember.js