和前幾個例子對比,這個例子的JS和HTML代碼都略有不同钉赁,JS代碼里面多了一個transclude:true,HTML代碼里面在<hello>內(nèi)部出現(xiàn)了子標(biāo)簽源请。
指令的作用是把我們自定義的語義化標(biāo)簽替代成瀏覽器能夠認(rèn)識的HTML標(biāo)簽眠副。但如果我們自定義的標(biāo)簽內(nèi)部出現(xiàn)了子標(biāo)簽荚醒,應(yīng)該如何去處理呢东涡?很顯然,transclude就是用來處理這種情況的棚潦。對于當(dāng)前這個例子令漂,transclude的作用可以簡化理解成:把<hello>標(biāo)簽內(nèi)部的內(nèi)容保持不變。很顯然丸边,由于我們沒有加replace:true選項叠必,所以<hello>標(biāo)簽還在,沒有被替換掉妹窖。同時纬朝,通過這個例子你還會發(fā)現(xiàn)一個暗藏的屬性,那就是瀏覽器實際上非常智能骄呼,雖然它并不認(rèn)識<hello>這個標(biāo)簽共苛,但是頁面沒有出錯,它只是默默地把這個標(biāo)簽忽略掉蜓萄。