[英]Action not being sent from component in EmberJS
当我关闭引导程序模式时,它不会发送应有的操作(在应用程序js中:)
application.hbs:
<li><a {{action "showSignInModal"}}>Sign In</a></li>
{{outlet}}
{{outlet 'modal'}}
引导-modal.js:
this.$('.modal').modal().on('hidden.bs.modal', function() {
alert("Closed");
this.sendAction('removeModal');
}.bind(this));
路线/ application.js中:
export default Ember.Route.extend({
actions: {
showSignInModal: function() {
this.render('components.signin-modal', {
into: 'application',
outlet: 'modal'
});
},
removeModal: function(){
alert("Working")
}
//...
}
})
登入-modal.hbs:
{{#bootstrap-modal title="Sign In" ok='signin' okText="Signin"}}
<p>
Please sign in. Thanks!
</p>
{{/bootstrap-modal}}
显示“已关闭”警报,但不显示。 (登录模式是一个组件,未定义任何操作,而只是一个引导模式)
动作不会像事件起泡那样传播
将您的引导程序模式包装到组件中,并从signin-modal中给它执行removeModal操作以进行调用。
您没有正确传递动作名称。
您需要注意,如果sendAction
方法找不到操作名称,它将以静默方式失败。
确保在包含模态组件的模板内部,传递一个具有要调用的动作名称的属性:
{{#bootstrap-modal title="Sign In" ok='signin' okText="Signin" removeModal="removeModal"}}
您可以阅读有关将动作传递给组件的更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.