我不知道如何做到以正確的方式如下:操縱DOM由於兒童指令引發的事件
考慮,例如起見,我想創建自己的自定義單選按鈕列表中的指令,這樣的事情:
<my-radio-button-list>
<my-radio-button>
...Some HTML content...
</my-radio-button>
<my-radio-button>
...Some HTML content...
</my-radio-button>
<my-radio-button>
...Some HTML content...
</my-radio-button>
</my-radio-button-list>
請注意 - 在<my-radio-button>
指令不一定使用任何<input>
元素。
我想這<my-radio-button>
將有其自己的內部事件監聽器被點擊時跟蹤了,我也想這是點擊一個<my-radio-button>
指令時,它會通知家長<my-radio-button-list>
指令,發生這樣的事件,所以parent指令將相應地更改DOM - 它將取消選擇當前選定的項目,並選擇被單擊的項目。
什麼是正確的方式來實現這樣的事情?
我能想到的唯一方法是在父指令的控制器上創建一個方法,它將按需要操作DOM(它將作爲新選擇的項的參數),然後與父指令的控制器共享它的子指令(所以他們可以從它們的click事件處理程序中調用這個方法)。但是,我知道這種方法是錯誤的,因爲控制器不應該操縱DOM。
謝謝!