use*_*875 6 javascript angularjs
我是新手.只是学习/尝试将Angular与我的webapp集成(Java + jQuery + requireJS).我没有使用任何路由器,下面是我的脚本.从其他stackoverflow我了解到这个错误是由于缺少ngRoute模块的包含.从版本1.1.6开始,它是一个单独的部分.但在我的下面的代码中,我根本不使用任何ngRouter.当我没有引用它为什么我会收到此错误?
错误:[$ injector:modulerr]由于以下原因无法实例化模块计数器:[$ injector:nomod]模块'计数器'不可用!您要么错误拼写了模块名称,要么忘记加载它.如果注册模块,请确保将依赖项指定为第二个参数.http://errors.angularjs.org/1.2.11/ $ injector/nomod?p0 = counter
模板:
<ul ng-app="counter" ng-controller="counterController">
<li>
<span class="ui-button-text" ng-bind="critical"></span>
</li>
<li>
<span class="ui-button-text" ng-bind="error"></span>
</li>
<li>
<span class="ui-button-text" ng-bind="warn"></span>
</li>
<li>
<span class="ui-button-text" ng-bind="note"></span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
JS
requirejs.config({
paths : { angular: "/js/lib/angular/angular.min" },
shim : { "angular": { deps: [ "jquery"], exports: "angular" } }
});
require(["angular", "jquery"],function() {
var module = angular.module('counter', []);
module.controller('CounterController', function ($scope, $http, $timeout) {
$scope.critical = 0;
$scope.error = 0;
$scope.warn = 0;
$scope.note = 0;
function setData(d){
$scope.critical = d.critical;
$scope.error = d.error;
$scope.warn = d.warn;
$scope.note = d.note;
}
var getCounters = function() {
var config = {headers: {
'X-MY-Request': (new Date()).getMilliseconds()
}
};
$http.get('xxxxxxx', config)
.success(function(data, status, headers, config) {
setData(data);
$timeout(getCounters, 60000);
}).error(function(data, status, headers, config) {
// Handle the error
});
}
$timeout(getCounters, 500);
});
Run Code Online (Sandbox Code Playgroud)
在您的模板中,您的控制器名称具有小写开头字母counterController。你的js有一个大写的CounterController。这可能是问题所在吗?
任何未找到的注入模块都会抛出错误。不仅仅是 ngRoute。
编辑:
我只是把一个快速的插件放在一起,没有“要求”的东西,你的所有代码都是正确的。所以不,你的角度代码中没有遗漏任何内容。所有模块都在工作。
所以问题一定出在你的“要求”设置上。我实际上从未使用过它,所以无法真正帮助你。在这里查看更多Angular + Requirejs - 以错误的顺序加载。
现在,如果我是你,我会一次学习一种技术。只需加载您的 Angular 和 jquery 资源,然后学习如何使用它们。然后当你感觉更舒服时添加“require”。
| 归档时间: |
|
| 查看次数: |
22518 次 |
| 最近记录: |