Angularjs未知提供商错误
Angularjs Unknown provider error
我得到
Error: [$injector:unpr] Unknown provider: mvProfileCtrlProvider <- mvProfileCtrl
在我的错误中,我已经确保它包含在我的脚本中并且可以访问(我可以从chrome-debugger > sources > mvProfileCtrl.js
打开它),所以我想它可以用于参考。但这里仍然有两个相关文件:
angular.module('app').controller('navBarLoginController',function($scope,$http,mvIdentity,mvNotifier,mvAuth,mvProfileCtrl,$location) {
$scope.identity = mvIdentity;
$scope.signin = function(username,password) {
mvAuth.authenticateUser(username,password).then(function(success){
if(success){
mvNotifier.notify('You have successfully signed in!');
}else{
mvNotifier.notify('Username/Password combination incorrect');
}
})
}
var profile = mvProfileCtrl;
$scope.update = function(){
profile.listen(mvIdentity.currentUser);
}
$scope.signout = function() {
mvAuth.logoutUser().then(function() {
$scope.username = "";
$scope.password = "";
mvNotifier.notify('You have successfully signed out!');
$location.path('/');
})
}
})
和mvProfileCtrl.js
-
angular.module('app').controller('mvProfileCtrl', function($scope, mvAuth, mvIdentity, mvNotifier) {
$scope.mvIdentity = mvIdentity;
$scope.update = function() {
console.log("" + $scope.updateemail + " -- " + test);
var newUserData = {
username: $scope.updateemail,
firstName: $scope.updatefname,
lastName: $scope.updatelname
}
if($scope.updatepassword && $scope.updatepassword.length > 0) {
newUserData.password = $scope.updatepassword;
}
mvAuth.updateCurrentUser(newUserData).then(function() {
$('#profileModal').modal('toggle');
mvNotifier.notify('Your user account has been updated');
}, function(reason) {
mvNotifier.error(reason);
})
}
return {
listen : function(currentUser) {
if (!currentUser) return;
$scope.updateemail = currentUser.username;
$scope.updatefname = currentUser.firstName;
$scope.updatelname = currentUser.lastName;
console.log("--> " + $scope.updateemail + " -- " + test);
}
}
});
和脚本文件-
script(type="text/javascript", src="/vendor/jquery/dist/jquery.js")
script(type="text/javascript", src="/vendor/toastr/toastr.js")
script(type="text/javascript", src="/vendor/angular/angular.js")
script(type="text/javascript", src="/vendor/angular-resource/angular-resource.js")
script(type="text/javascript", src="/vendor/angular-route/angular-route.js")
script(type="text/javascript", src="/vendor/bootstrap/dist/js/bootstrap.js")
script(type="text/javascript", src="/vendor/bootstrap/js/dropdown.js")
script(type="text/javascript", src="/app/app.js")
script(type="text/javascript", src="/plugins/backstretch/jquery.backstretch.min.js")
script(type="text/javascript", src="/plugins/bxslider/jquery.bxslider.min.js")
script(type="text/javascript", src="/plugins/bxslider/jquery.bxslider.min.js")
script(type="text/javascript", src="/app/account/navBarLoginController.js")
script(type="text/javascript", src="/app/common/mvNotifier.js")
script(type="text/javascript", src="/app/account/mvIdentity.js")
script(type="text/javascript", src="/app/account/mvauth.js")
script(type="text/javascript", src="/app/account/mvUser.js")
script(type="text/javascript", src="/app/admin/mvUserListCtrl.js")
script(type="text/javascript", src="/app/account/mvSignupCtrl.js")
script(type="text/javascript", src="/app/account/mvProfileCtrl.js")
这里的问题是,您正在尝试将控制器注入另一个控制器。这是而不是。
请检查:
- 一个控制器可以调用另一个控制器吗?
看看我们应该如何在控制器之间通信——使用共享服务。
服务和控制器之间最大的区别是(参见Developer Guide)依赖注入):
控制器的特殊之处在于,与服务不同,它们在应用程序中可以有许多实例。例如,模板中每个ng-controller指令都有一个实例。
所以,当我们试图在一个控制器内部调用另一个控制器的方法时。我们应该把它移到单例服务中
相关文章:
- Angular未知提供商错误
- AngularJS错误:未知提供商
- 将输入字段值传入angularjs $resource undefined,错误显示未知的作用域提供商
- 错误:[$injector:unpr]未知提供商:ngCsv <- ngCsv <- dynamicDemoContro
- 获取"错误:[$injector:unpr]未知提供商"错误
- AngularJS错误:[$injector:unpr]未知提供商:$achorScrollProvider <- $a
- Angular:错误:[$injector:unpr]未知提供商:$scopeProvider <- $scope
- 错误:[$injector:unpr]未知提供商:ngTableParamsProvider <
- AngularJS在向工厂注入常量时出现未知提供商错误
- Angularjs未知提供商错误
- Angular js未知提供商错误Angular -animate
- 咕噜发球:dist ->错误:[$injector:unpr]未知提供商:utilProvider <- util <-
- Angular JS错误:[$injector:unpr]未知提供商
- 未捕获错误:[$injector:unpr]未知提供商:dependency1 provider <- dependen
- Angular JS:为什么Angular会用未知的提供商来过滤错误:defaultFilterProvider <
- Angularjs错误未知提供商
- 为什么我得到一个角未知提供商注入错误时,传递一个数组的模式
- Angular提供商错误——必须定义$get工厂方法
- 未捕获的错误:[$injector:modulerr]由于:错误:[$injector:unpr]未知的提供商:$sta
- 未捕获错误:[$injector:unpr]未知提供商:aProvider <- a