0

我从https://github.com/jimakker/angular-express-bootstrap-seed下载了 Angular-Express-Bootstrap 种子。我想通过完美执行的角度js执行路由。但是现在我在controllers.js中调用“控制器”时遇到了一些问题。

我可以通过这种方式调用我的 MyCtrl1 并完美地工作:

 function MyCtrl1() {
   alert('calling Myctrl1..')
 }
 MyCtrl1.$inject = [];

但是我是否这样称呼:

var app = angular.module('myApp.controllers', []);
    app.controller('MyCtrl1', ['$scope', function($scope) {
      $scope.greeting = 'MyCtrl1';
      alert('calling'+ $scope.greeting+"..")
    }]);

上面的控制器回调函数不起作用并显示此错误:Uncaught Error: [$injector:modulerr] MyCtrl1 is not defined

app.js 中的路由配置:

var app = angular.module('myApp', ['myApp.filters','myApp.controllers','myApp.services', 'myApp.directives','ngRoute'])
  app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) 
  {
    $routeProvider
        .when('/view1', {
            templateUrl: 'partial/1', 
            controller: MyCtrl1
        })
    $locationProvider.html5Mode(true);
  }]);

我不知道为什么它不起作用。任何帮助将不胜感激。

4

1 回答 1

0

最后我得到了解决方案,我错过了控制器名称的引号$routeProvider

索尔恩:controller: 'MyCtrl1'

于 2016-04-26T09:49:51.343 回答