【问题标题】:how to call parent component method from child component in ember js如何在ember js中从子组件调用父组件方法
【发布时间】:2018-05-03 18:26:42
【问题描述】:

我知道 Ember 中的操作向下和数据向上策略,但是有没有办法可以从子组件调用父组件方法(而不是操作)?

【问题讨论】:

标签: ember.js


【解决方案1】:

好吧,如果我想从孩子调用父方法,我就是这样使用的:

父组件.hbs:

{{component-name owner=this}}

父组件.js:

import Component from '@ember/component';

export default Component.extend({
    parentMethod(){
        // I am doing something
    }
});

子组件.js

import Component from '@ember/component';

export default Component.extend({
    didInsertElement(){
        this.get('owner').parentMethod();
    }
});

在这种情况下,这不是行动。

【讨论】:

    【解决方案2】:

    据我所知,没有直接的方法,但您可以使用全局事件总线实现相同的行为。

    使用 Ember.Service 创建一个新服务,该服务将使用 Ember.Evented 充当事件总线。使用此服务父组件可以发布事件,子组件现在可以订阅这些事件而无需引用父组件

    【讨论】:

    • 谢谢,试试看。
    猜你喜欢
    • 2018-05-27
    • 2021-05-02
    • 2016-12-08
    • 2020-06-15
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多