我使用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/
答案 0 :(得分:1)
有一些事情,
(i)Angular引用没有加载,你只需要改变
Javascript settings -> Load type -> Wrap in <Head>
(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>