2017-04-17 58 views
0

在虛設Angular應用我有兩個組成部分:countertest01。正如你可以在repository file角 - 傳遞一個成分作爲參數傳遞給另一個

看到這GitHub的倉庫包含一個完全工作的例子。

請檢查這張圖片。

this image.

如果您按一下按鈕:「改變計數器值」,它設置了計數器號碼:8成功。

但我的問題是:我怎麼能通過counter組件到test01組件更改從一個更簡單的方法test01方法中的值?

眼下組件的邏輯:test01是比較困難的,你可以看到here

我想這樣做:

test01_obj.counter = 8; 

沒有太多的代碼了。

對此有何想法?

回答

0

您正在以錯誤的方式接近問題。

我建議大家分享兩個組件之間的模式(計數),而不是和依靠的綁定來實現[間接]互動。

即:

export class ContainerComponent { 

    myCounterModel: CounterModel = { 
     count: 0 
    }; 
    ... 
} 

export class CounterComponent { 
    ... 
    @Input() 
    counter: CounterModel; 
} 

export class Test01Component { 
    ... 
    @Input() 
    counter: CounterModel; 
} 


    //ContainerComponent template 

<counter [(counter)]="myCounterModel"></counter> 
<hr /> 
<test01 [(counter)]="myCounterModel" [resetValue]="8"></test01> 

有道理?

+0

那麼,我在哪裏聲明:'let model:CounterModel',在一個獨立的文件中?或一些已經存在的文件? – davidesp

+0

例如在容器組件中,請檢查更新後的代碼片段 –

相關問題