Mar*_*lin 6 javascript angularjs satellizer
这是我的案例场景:
$auth.isAuthenticated() != true他们未登录进行识别,并将其重定向到/ login我会喜欢上这个第三步做的就是将其重定向到/设置页面,而不是主页.
我想我会改变这个变量:
$authProvider.loginRedirect = '/';
问题是,我可以不包括$authProvider在我的loginCtrl.js文件,而无需在我的控制台得到一个"未知供应商"的错误:https://docs.angularjs.org/error/?$喷油器/ unpr P0 =换句话说,角度不承认$authProvider时我试着把它包括在内.这是我的loginCtrl.js文件的样子:
/* Everything is blowing up because I'm trying to include $authProvider */
angular.module("PrayerChain")
.controller("loginCtrl", ["$rootScope", "$scope", "$state", "$http", "$auth", "$authProvider", loginCtrl]);
function loginCtrl($rootScope, $scope, $state, $http, $auth, $authProvider) {
$authProvider.loginRedirect = '/settings';
$scope.login = function () {
$auth.login({ Email: $scope.email, Password: $scope.password })
.then(function() {
})
.catch(function (response, status, headers) {
console.log(response);
$scope.error = JSON.parse(response.data);
});
};
}
Run Code Online (Sandbox Code Playgroud)
是否$authProvider可能包含在控制器中?如果没有,那么在使用Satellizer登录时改变人们重定向的位置有什么替代解决方案?
谢谢.
通常提供程序对象只能在配置时访问,而控制器是在运行时创建的。如果您需要设置 authProvider,请尝试执行以下操作:
angular.module('PrayerChain').config(
[ "$authProvider",
function($authProvider) {
$authProvider.loginRedirect = '/settings';
}
]).controller("loginCtrl",
// ...
Run Code Online (Sandbox Code Playgroud)