2017-07-04 61 views
-2

我寫的採用了棱角分明的1.4.8代碼一些非常簡單的線條和我得到角1.4.8:角模塊/ NG-應用程序錯誤

Error: [$injector:nomod] Module 'a' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

遵循了這一環節,因爲我也使用相同的角度的版本。 Angular js 1.4.8 Injection module error

<div ng-app='a'> 
<div ng-controller="myctrl as ctrl"> 
<input type="text" ng-model="ctrl.name"/> 
<input type="submit" ng-click="call();"/> 
</div> 
</div> 
var a=angular.module('a',[]); 
a.controller("myctrl",['$scope',function($scope){ 

var ctrl=this; 

$scope.call=function(){ 
alert(ctrl.name); 
}; 

}]); 

這裏是鏈接到我的小提琴。 https://jsfiddle.net/rakotkar/mumv3uwf/4/

+1

獲得幫助的jsfiddle問題在計算器上感覺像是在浪費時間。 JSFiddle是一個沙盒,不是在某處開發代碼 – Phil

+0

[爲什麼我會在JSFiddle中找不到錯誤模塊?](https:// stackoverflow。com/questions/44890420/why-i-get-error-module-not-available-in-jsfiddle) – Vivz

回答

1

有幾件事情,

(I)角度是指沒有得到加載,你只需要改變

Javascript settings -> Load type -> Wrap in <Head>

enter image description here

(ii)您需要更改控制器代碼爲,

var a=angular.module('a',[]); 
a.controller("myctrl",function(){ 
var ctrl=this; 
ctrl.call=function(){ 
alert(ctrl.name); 
}; 
}); 

WORKING FIDDLE

+1

OP有一些混亂,但我沒有理由在OP已經擁有的情況下在控制器實例上設置'call'它在'$ scope' – Phil

+0

@Phil主要問題是因爲我已經發布的參考文獻 – Sajeetharan

+0

同意,但你的第二點純粹是主觀的 – Phil

0
  • 剛分配到$scopectrl對象,而不是this關鍵字像var ctrl=$scope;

代碼:

var a=angular.module('a',[]); 
a.controller("myctrl",['$scope',function($scope){ 
var ctrl=$scope; 
$scope.call=function(){ 
alert(ctrl.name); 
}; 
}]); 

  • 你應該定義head標籤

  • 內的角度基準最後刪除ctrl(無需使用)別名ng-controller屬性

代碼:

<div ng-app='a'> 
<div ng-controller="myctrl"> 
<input type="text" ng-model="name"/> 
<input type="submit" ng-click="call();"/> 
</div> 
</div>