默認情況規(guī)則:A、子級中沒有對應(yīng)數(shù)據(jù),會去父級查找數(shù)據(jù)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? B、子級和父級使用的是同一個$scope數(shù)據(jù),子級父級如果同時存在數(shù)據(jù)相同,父級會被子級數(shù)據(jù)所替代掉,子級若不存在,則會使用規(guī)則A到父級查找后使用。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? C、對作用域內(nèi)的作用與當(dāng)前的某一級數(shù)據(jù)進行相對應(yīng)的更改,子級和父級都會更改。
對默認規(guī)則的更改可以使用scope關(guān)鍵字來修改,可以接受兩種類型參數(shù);
參數(shù)1:可以接收布爾值作為參數(shù),false:表示對默認規(guī)則不做更改。true:又可以分情況討論;一、當(dāng)子級父級都存在的時候,互不影響,各自獨立工作。二、如果當(dāng)子級不存在時,第一次打開頁面時,會首先使用父級的的數(shù)據(jù),而且父級更改操作,子級也會對應(yīng)更改。然后對子級進行第一操作后,就會動態(tài)為子級創(chuàng)建了一個作用域,此時scope操作數(shù)起作用,和父級就不在相關(guān)聯(lián),對子級的操作也不會影響到父級。三、但是,父級如果不存在,卻不會去子級查找數(shù)據(jù),默認就會為空,而且對父級的操作,對子級也不會有影響。相互獨立。
參數(shù)2:{},用一個空對象來隔離作用域。子級和父級不在相互受到任何影響。
對象的內(nèi)部可以傳遞參數(shù),修飾符‘@’:A:@修飾符可以實現(xiàn)子級無定義數(shù)據(jù)的情況下,突破規(guī)則的限制,用插值語法實現(xiàn)和父級共享參數(shù)。借用到父級的數(shù)據(jù)。但需要注意的是子級被傳遞過來數(shù)據(jù)后,自身發(fā)生的增刪操作,不會影響到父級。B:子級在定義了數(shù)據(jù)的情況下,而在標(biāo)簽內(nèi)使用了插值語法,依然擁有外界傳參的優(yōu)先級,而不會顯示自定義的數(shù)據(jù)。和scope:true類似。
修飾符“=”:=修飾符取消了@修飾符的插值語法,而直接使用賦值的方式,也是=本身來進行傳參。使用了=修飾符,子級和父級之間會互相影響,和scope:false時類似。
修飾符“&”:用于傳遞方法;
其傳遞規(guī)則需要主要幾點:子級自己定義方法后,外界的傳遞方法會被取消,而傳遞子級的方法。