routingProvider不使用控制器形式单独的文件

时间:2014-07-14 20:24:17

标签: javascript angularjs

使用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>

我已经花了很多时间寻找解决方案但找不到它,如果有人能帮我解决这个问题,我将不胜感激。

2 个答案:

答案 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(....)