繁体   English   中英

从Ember 2.0组件调用控制器操作

[英]Calling controller action from Ember 2.0 component

现在,Ember 2.0决定完全删除Ember.View,我遇到了从视图到控制器的操作传递问题。

App.SomeView = Ember.Component.extend({
   didInsertElement : function(){
     var _this = this;
     window.addEventListener("message",
        function(event) {
            _this.get("controller").send("foobar", event.data);
        }, false);
  }
});

App.SomeController = Ember.Controller.extend({
   actions: {
      foobar: function(param) {
         console.log("Yey", param);
      }
   }
});

因为而不是Ember.View我现在需要使用Ember.Component。 当然然后this.get(“controller”)。send方法不再起作用了。 这有什么办法吗?

您可以在组件中使用sendAction()并在模板中为其分配处理程序。

// some-component.js 
this.sendAction('actionName', params);

// template
{{some-component actionName="foobar"}}

// controller
actions: {
   foobar(params) {
     alert('action received');
   }
}

详细信息: http//guides.emberjs.com/v2.0.0/components/sending-actions-from-components-to-your-application/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM