在你plunker刪除$curDir
嘗試使用控制檯鉻什麼的下一次。遇到錯誤:
Error: [$injector:unpr] Unknown provider: $curDirProvider <- $curDir <- mainCtrl
http://plnkr.co/edit/NrThd1?p=preview
正如邊注:如果您在HTML然後通常AngularJS已經與控制檯輸出錯誤爆炸看到綁定表達式{{ }}
。
問題與你的指令:
一)
function postLink($scope, $element, $attrs) {
// This is not valid JavaScript
template : '<p> I am from New Directive with Item {{$scope.subItem}}</p>';
}
B)沒有JavaScript的附加該模板的元素。所以,你看不到任何東西,直到它:
$element.append(template);
- 或 -
$element.append(angular.element(template));
C)有使用指令controller
和link
對象組合在一起是沒有意義的 - 使用一個或其他是一個很好的起點。 d)如果您使用controller
,則在指令主體內部使用綁定表達式{{ }}
來顯示數據,就像您通常那樣。另外請注意,如果你使用控制器,確保這是在你的指令控制器對象:
function curDirective() {
return {
restrict: 'E',
controller: 'mainCtrl as vm' // <-- see here
};
}
修正:
http://plnkr.co/edit/AGB5bp?p=preview
但它不顯示從我的指令子項。任何修補程序? – smart987
好吧,有,但你需要重寫你的指令。 –
請參閱編輯@mnkb –