0

直到現在我使用Angularjs 1.2正常的全局控制器語法,但現在我需要移動1.3並使用新的控制器作爲語法並避免全局聲明爲我們的要求。問題與Angularjs 1.3新控制器作爲語法和指令

現在我正在學習它的過程。但是有些時候我無法使它工作,即使是一些簡單的基本應用。請找到我的Plunker

我的指令<h2> {{ctrl1.item }}</h2>{{$scope.subItem}}都沒有給出預期的輸出。任何一個人都可以幫助我解決輸出項目和子項目的問題。而且還可以在任何提供我一些很好的參考,以熟悉這種使用1.3和示例教程新語法等

回答

1

在你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)有使用指令controllerlink對象組合在一起是沒有意義的 - 使用一個或其他是一個很好的起點。 d)如果您使用controller,則在指令主體內部使用綁定表達式{{ }}來顯示數據,就像您通常那樣。另外請注意,如果你使用控制器,確保這是在你的指令控制器對象:

function curDirective() { 
    return { 
     restrict: 'E', 
     controller: 'mainCtrl as vm' // <-- see here 
    }; 
} 

修正:

http://plnkr.co/edit/AGB5bp?p=preview

+0

但它不顯示從我的指令子項。任何修補程序? – smart987

+0

好吧,有,但你需要重寫你的指令。 –

+0

請參閱編輯@mnkb –

相關問題