http://www.ngnice.com/posts/2314014da4eea8
自定義select指令時(shí)需要根據(jù)ng-disabled字段來(lái)設(shè)置指令的狀態(tài)
$parse是作為一個(gè)單獨(dú)的服務(wù)存在的。$eval是作為scope的方法來(lái)使用的惧辈。
$parse典型的使用是放在設(shè)置字符串表達(dá)式映射在真實(shí)對(duì)象上的值辉浦。也可以從$parse上直接獲取到表達(dá)式對(duì)應(yīng)的值裁奇。
$eval 即scope.$eval狱杰,是執(zhí)行當(dāng)前作用域下的表達(dá)式禀倔,如:scope.$eval('a+b'); 而這個(gè)里的a,b是來(lái)自 scope = {a: 2, b:3};
$observe是屬性對(duì)象上的方法蠢络,因此它是用來(lái)監(jiān)控DOM屬性上的值的變化社裆,它僅用在指令內(nèi)部弹砚,當(dāng)你需要在指令內(nèi)部監(jiān)控包含有插值表達(dá)式的DOM屬性的時(shí)候双仍,就要用到這個(gè)方法
$watch更復(fù)雜一點(diǎn),它可以監(jiān)視表達(dá)式桌吃,這個(gè)表達(dá)式可以是函數(shù)或者字符串朱沃,假如表達(dá)式是字符串的話,會(huì)被封裝成一個(gè)函數(shù)茅诱,然后在digest循環(huán)的時(shí)候被調(diào)用逗物。 這個(gè)字符串表達(dá)式不能包含{{}}
,$watch是一個(gè)scope對(duì)象上的方法,所以它可以在任何你可以訪問(wèn)到作用域的地方被調(diào)用瑟俭。比如敬察,控制器中或者link函數(shù)中。因?yàn)樽址潜划?dāng)做angular的表達(dá)式解析的尔当,所以$watch經(jīng)常被用在當(dāng)你想要監(jiān)控一個(gè)模型或者作用域?qū)ο蟮臅r(shí)候