Angular 1.4.8:角度模块/ ng-app错误

时间:2017-07-04 06:21:15

标签: javascript angularjs

我使用angular 1.4.8编写了一些非常简单的代码行,我得到了

  

错误:[$ injector:nomod]模块' a'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

关注此链接,因为我也使用相同版本的角度。 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/

2 个答案:

答案 0 :(得分:1)

有一些事情,

(i)Angular引用没有加载,你只需要改变

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 :(得分:0)

  • 只需将$scope分配给ctrl对象,而不是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>