angularjs – 无法实例化控制器Angular New Router

我正在使用新的Angular路由器1.4,它为组件做一个简单的控制器时抛出一个错误

angular.module('app.campaigns',['security','ngNewRouter'])
  .controller('CampaignsController',['authService','$rootScope',CampaignsController]);   


function CampaignsController (authService,$rootScope) {
    console.log ('this is campaigns controller');
    this.currentUser = $rootScope.authService.currentUser;
    this.authService = $rootScope.authService;
    this.logout = authService.logout;
}

我试过没有注入$rootScope并且是一样的.我究竟做错了什么?一个非常相似的组件就像魅力一样,但事实并非如此.

解决方法

这里是使用angular 1.5的新路由器的最新示例,对于1.4你将无法使用component()我认为除非你自己添加它,它只是一个包装指令虽然.

你应该使用angular2项目构建的angular_1_router.js而不是安装angular-new-router包(直到它被更新)
在下面的示例中,他们使用角度1.5并修复它,以便您可以使用components()和子路径等.

检查完整工作示例的链接
http://plnkr.co/edit/N3YP3dKMuljpZ6mWsVBT?p=preview

app.js

angular.module('app',['ngComponentRouter','dialog','heroes','crisis-center'])

.config(function($locationProvider) {
  $locationProvider.html5Mode(true);
})

.run(function($router) {
  $router.config([
    { path: '/...',name: 'App',component: 'app',useAsDefault: true }
  ]);
  $router.navigate(['App']);
})

.component('app',{
  template:
    '<nav>\n' +
    '  <a ng-link="[\'CrisisCenter\']">Crisis Center</a>\n' +
    '  <a ng-link="[\'Heroes\']">Heroes</a>\n' +
    '</nav>\n' +
    '<ng-outlet></ng-outlet>\n',$routeConfig: [
    {path: '/crisis-center/...',name: 'CrisisCenter',component: 'crisisCenter',useAsDefault: true},{path: '/heroes/...',name: 'Heroes',component: 'heroes'},{path: '/disaster',name: 'Asteroid',redirectTo: ['CrisisCenter','CrisisDetail',{id:3}]}
  ]
});

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...