3 回答

TA貢獻1836條經(jīng)驗 獲得超4個贊
我的個人政策和經(jīng)驗:
隔離:私人沙箱
我想創(chuàng)建許多范圍方法和變量,這些方法和變量僅由我的指令使用,并且從未被用戶看到或直接訪問過。我想將可用的范圍數(shù)據(jù)列入白名單。我可以使用transclusion允許用戶跳回到父范圍(不受影響)。我不希望在被抄襲的孩子中可以訪問我的變量和方法。
兒童:內(nèi)容的一個小節(jié)
我要創(chuàng)建范圍的方法和變量CAN用戶訪問,但是是不相關(guān)的我的指令的情況下外周邊范圍(兄弟姐妹和父母)。我還想讓所有父范圍數(shù)據(jù)透明地滲透。
無:簡單的只讀指令
我真的不需要搞亂范圍方法或變量。我可能正在做一些與范圍無關(guān)的事情(例如顯示簡單的jQuery插件,驗證等)。
筆記
你不應(yīng)該讓ngModel或其他東西直接影響你的決定。你可以通過像
ng-model=$parent.myVal
(孩子)或ngModel: '='
(孤立)這樣的事情來規(guī)避奇怪的行為。Isolate + transclude將恢復(fù)兄弟指令的所有正常行為并返回到父作用域,因此不要讓它影響您的判斷。
不要混淆沒有的范圍,因為它就像將數(shù)據(jù)放在DOM的下半部分的范圍而不是上半部分是有意義的。
注意指令優(yōu)先級(沒有具體的例子說明這會影響事物)
注入服務(wù)或使用控制器跨任何范圍類型的指令進行通信。您還
require: '^ngModel'
可以查看父元素。
- 3 回答
- 0 關(guān)注
- 612 瀏覽
添加回答
舉報