我宣布这个模块:
angular.module('dashboard', [])
.controller('dashboardController', ['$scope',
function ($scope) {
$scope.data = "555";
}]);
以下是观点:
<div ng-app="dashboard" data-role="page" id="layersProperty" data-add-back-btn="true" >
<div ng-controller="dashboardController">
{{data}}
</div>
</div>
这是FIDDLE。
在控制台中我收到此错误:
错误:[$ injector:nomod]模块'仪表板'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
我知道为什么会出现上述错误?
答案 0 :(得分:3)
答案 1 :(得分:2)
这是由于您在JSFiddle上设置的javascript加载类型。当您使用onLoad
时,JSFiddle会将您的javascript包装在$(window).load(function (){});
块中。这意味着注册Angular应用程序的angular.module()
代码在DOM处理完之后才会运行。所以Angular试图找到一个尚未创建的dashboard
模块。
答案 2 :(得分:0)
基本上,您的代码看起来很不错,而且通过其工作方式检查它Plnkr。
检查您的代码(您是否包含角度?)或只是发布完整代码。
plnkr中的代码:
<!DOCTYPE html>
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="dashboard" ng-controller="dashboardController">
{{ data }}
</div>
<script>
angular.module('dashboard', [])
.controller('dashboardController', ['$scope',
function($scope) {
$scope.data = "555";
}
]);
</script>
</body>
</html>