Angularjs控制器显示未定义?

我正在使用angularjs和cassandra在节点应用程序上工作。 当我去页面,如注册页面,然后前端来适当,但它显示错误,控制器是未定义的。 错误:错误:areq错误的参数

这是app.js(主要的jsconfiguration文件)

angular.module('app', ['ui.router']) .config(['$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider) { $urlRouterProvider.otherwise('/'); $stateProvider .state('home', { url: '/', templateUrl: '/browser/views/home.html' }) .state('register', { url: '/register', templateUrl: '/browser/views/register.html', controller: 'RegisterCtrl' }) .state('login', { url: '/login', templateUrl: '/browser/views/login.html', controller: 'LoginCtrl' }) } ]); 

这是register.html文件后跟控制器的path。

 <div ng-controller="RegisterCtrl" class="container-fluid"> <div class="row custom-row2"> <div class="col-md-6 col-lg-6 col-sm-6"> <h4 class="sign_up">{{ title }}</h4> <form class="form-horizontal" id="login_form" name="login_form" role="form"> <div class="form-group"> <label class="control-label col-sm-3" for="name">Name:</label> <div class="col-sm-9"> <input ng-model="name" type="text" class="form-control" name="field1" id="name" aria-describedby="inputSuccess3Status" placeholder="Enter Your Name...."> </div> </div> </form> </div> </div> 

这是在萤火虫检查registerCtrl.js文件

  angular.module('app', ['ui.router']) .controller('RegisterCtrl', ['$scope', function($scope, RegiserService) { $scope.title = "Sign Up"; } ]); 

但是必须来自registerCtrl控制器的标题不会出现在{{title}}中。

我已经经历了几次这样的事情,但是在定义控制器时却弄不清究竟是怎么回事。

您正在通过执行angular.module('app', ['ui.router']).controller.来重新创build模块angular.module('app', ['ui.router']).controller. 只要使用getter语法angular.module('app')来创build应用程序就可以获取模块。 我假设你在注册服务RegiserService时候也是这样做的,它清理了注册到同一模块app其他东西。 一旦通过使用语法angular.module('moduleName', [..dep])模块,您应该在注册任何其他后续实体的同时获取带有getter语法angular.module('app')的模块。

模块创build(只有一次):

 angular.module(moduleName, [requires], [configFn]); 

模块Getter(访问已创build的模块):

 angular.module(moduleName); 

见文件

当传递两个或多个参数时,将创build一个新模块。 如果仅传递一个参数,则检索现有模块(作为第一个parameter passing给模块的名称)。

举个例子:

  angular.module('app').controller('RegisterCtrl',... angular.module('app').service('RegiserService',... 

除了PSL提到的重新定义模块,还有一点是 – 什么是RegiserService ? 如果是一些服务,那么控制器的定义是错误的。

正确的定义是

 angular.module('app', ['ui.router']) .controller('RegisterCtrl', ['$scope', 'RegiserService', function($scope, RegiserService) { $scope.title = "Sign Up"; } ]);