首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未从EmberJS组件中发送的操作

未从EmberJS组件中发送的操作
EN

Stack Overflow用户
提问于 2015-11-24 21:26:32
回答 2查看 32关注 0票数 1

当我关闭引导模式时,它不会发送它应该执行的操作(在应用程序js:)

application.hbs:

代码语言:javascript
复制
<li><a {{action "showSignInModal"}}>Sign In</a></li>
{{outlet}}
{{outlet 'modal'}}

引导-modal.js:

代码语言:javascript
复制
this.$('.modal').modal().on('hidden.bs.modal', function() {
  alert("Closed");
  this.sendAction('removeModal');
}.bind(this));

路由/应用程序.:

代码语言:javascript
复制
export default Ember.Route.extend({
  actions: {
    showSignInModal: function() {
      this.render('components.signin-modal', {
        into: 'application',
        outlet: 'modal'
      });
    },
    removeModal: function(){
      alert("Working")
    }
    //...
  }
})

signin-modal.hbs:

代码语言:javascript
复制
{{#bootstrap-modal title="Sign In" ok='signin' okText="Signin"}}
<p>
  Please sign in. Thanks!
</p>
{{/bootstrap-modal}}

“关闭”警报显示,但“工作”警报不显示。( signin模式是一个组件,没有定义任何操作,只是一个引导模式)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-24 21:50:49

您没有正确传递您的操作名称。

您需要注意的是,如果sendAction方法找不到操作名,它将以静默方式失败。

确保在包含模态组件的模板中传递一个属性,该属性具有要调用的操作名:

代码语言:javascript
复制
{{#bootstrap-modal title="Sign In" ok='signin' okText="Signin" removeModal="removeModal"}}

您可以阅读更多关于将操作传递给组件的信息。

票数 1
EN

Stack Overflow用户

发布于 2015-11-24 21:49:57

操作不会像事件闹铃一样传播

将引导模式包装到一个组件中,并将从signin模式到调用的removeModal操作交给它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33904128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档