2016-02-10 107 views
0

我有以下代碼的上下文。 但由於某種原因,它返回一個錯誤myApp沒有定義,當我最初定義它,並試圖用mod變量在多種情況下使用它。Angular模塊不工作?

我在做什麼錯?

https://jsfiddle.net/wL54j8g9/3/

angular.module('myApp', []); 

var mod = angular.module('myApp'); 

mod.directive('myList', myDirective); 
mod.directive('myObject', myObject); 

function myDirective(){ 
    var opt = { 
    restrict: 'E', 
    template: '<ul><li>This is One</li><li>This is Two</li></ul>' 
    }; 
    return opt; 
} 

function myObject(){ 
    var opt = { 
    restrict: 'A', 
    template: '<p>A Bouncing Before Park Me Bird Joe You\'re She Tell Toenails Mix Gox I Matter TV Battered You\'ll Vim Didn\'t Oh Snapped Silly</p>' 
    }; 
    return opt; 
} 

回答

2

兩個問題:

angular.module('myApp', []); 
var mod = angular.module('myApp'); 

應該只是

var mod = angular.module('myApp', []); 

(HM其實,經過一些實驗,我發現,它仍然工作的方式。你有它,只要你正確地注入Angular ...雖然有點多餘,我仍然建議)

更重要的是,在您的小提琴中,您正在注入Angular「onLoad」 - 如果您將其更改爲「nowrap in <head>」,它將起作用;見https://jsfiddle.net/rtrb8ngp/。當您實例化角度模塊時(或者您需要使用bootstrap方法初始化它),需要使用ng-app的DOM元素。

+0

謝謝!忘記加載順序。我實際上是在遵循他們的文檔,當這樣做時:https://docs.angularjs.org/error/$injector/nomod?p0=myApp – gespinha

+0

他們的文檔似乎建議我使用同樣的單行方法。 (第二個「沒有依賴關係數組」的調用只是檢索已經實例化的模塊的另一種方式,如果它最初設置的變量由於某種原因不可用) –

+0

噢,好的。謝謝! – gespinha