簡體   English   中英

子組件之間的灰燼觸發動作

[英]Ember trigger action between child components

在我的Ember應用程序中,我有一個父組件“ A”,其中有兩個子組件“ B”和“ C”
我的問題是:
如何觸發從組件B到組件C的動作(即在2個子組件之間進行通信)?

只是添加,從B到C的this.sendAction不起作用

你不知道 就這么簡單。 但是,還有其他方法可以實現相同的目標。

基本模式應為:

  1. 組件B觸發對組件A的操作。
  2. 組件A更改了綁定到組件C
  3. 現在組件C知道該操作已發生。

那就是一般的余燼流程: DDAU (數據減少,動作增加)。

如果你想要一些封裝可以使用上下文組件,組件 BC在一起,給他們一個共享的狀態。


一個簡短的例子:

{{component-b onsomething=(action 'myAction')}}
{{component-c state=state}}

現在在component-b內部,您可以執行get(this, 'myAction')('newState') 在組件A (父組件)中,您具有操作myAction

myAction(newState) {
  set(this, 'state', newState);
}

component-c內部,您可以例如根據狀態使用計算屬性來計算:

shouldDisplaySomeButton: computed('state', {
  get() {
    return get(this, 'state') === 'newState';
  }
}),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM