使用routeProvider
服务时,我在将控制器加载到AngularJS中的特定路径时遇到问题。如果我在与我声明模块的文件相同的文件中定义控制器,它工作正常,但我希望控制器在一个单独的文件中。当我尝试从单独的文件加载它时,我收到一个错误,说找不到控制器。
这是我的代码:
(pixelApp.js)
'use strict';
var pixelApp = angular.module('pixelApp',['ngRoute'])
.config(function routing($routeProvider)
{
$routeProvider.when('/',
{
templateUrl: '../directory/home.html',
controller: 'homeCTRL'
}
);
$routeProvider.otherwise(
{
redirectTo: '/'
}
);
});
(homeCTRL.js)
'use strict';
pixelApp.controller('homeCTRL',
function homeCTRL($scope)
{
$scope.message = "Welcome to home.";
}
);
(index.html的)
<body>
<ng-view></ng-view>
<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-route.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<!-- App Module -->
<script type="text/javascript" src="js/pixelApp.js"></script>
<!-- App Module -->
<!-- View Controllers -->
<script type="text/javascript" src="js/controller/homeCTRL.js" />
<!-- View Controllers -->
</body>
我已经花了很多时间寻找解决方案但找不到它,如果有人能帮我解决这个问题,我将不胜感激。
答案 0 :(得分:1)
我想问题只是你的脚本标签
<script type="text/javascript" src="js/controller/homeCTRL.js" />
应该是
<script type="text/javascript" src="js/controller/homeCTRL.js"></script>
答案 1 :(得分:0)
您正在使用use strict
并引用未定义的变量。
(pixelApp.js)
var pixelApp = window.pixelApp = angular.module('pixelApp',['ngRoute'])
...
(homeCTRL.js)
window.pixelApp.controller(....)