2015-10-15 86 views
3

我有一個指令,隔離範圍在外部指令的模板內呈現。與AngularJS中的指令實例通信

我想發送一條通知消息給子指令讓它取消一個定時器。我怎樣才能做到這一點慣用?

請問scope.$broadcast爲我做這個,即使子範圍是隔離的嗎?

回答

2

從範圍$廣播文檔:

向下分派事件名稱到所有子範圍(和他們的子女)通知註冊$ rootScope.Scope聽衆。

因此,它將完全適用於您的情況。請注意,儘管被隔離,內部指令的範圍仍然是子範圍範圍外。隔離意味着這個範圍不會原型繼承,但它的$parent指向真正的父範圍。所以$廣播將在這種情況下工作。

這裏是一個小例子,我設置爲測試它:

演示:http://plnkr.co/edit/OoUqgV8oRofakXVf2OZv?p=preview