Javascript AngularJS解析依赖项
我正在开发一个允许用户以不同级别登录或访问应用程序的应用程序。我添加了一个解析依赖项以获取用户列表。它确实返回了正确用户的列表如何将此对象传递给控制器? 我在网站上遵循了一个类似的示例,但我的getPrelogin对象始终未定义。我做错了什么Javascript AngularJS解析依赖项,javascript,angularjs,angular-ui-router,angularjs-controller,angular-promise,Javascript,Angularjs,Angular Ui Router,Angularjs Controller,Angular Promise,我正在开发一个允许用户以不同级别登录或访问应用程序的应用程序。我添加了一个解析依赖项以获取用户列表。它确实返回了正确用户的列表如何将此对象传递给控制器? 我在网站上遵循了一个类似的示例,但我的getPrelogin对象始终未定义。我做错了什么 .state('registration.login', { url: '/Login', resolve: { preLoginFactory: 'preLoginFacto
.state('registration.login', {
url: '/Login',
resolve: {
preLoginFactory: 'preLoginFactory',
getPrelogin: function (preLoginFactory) {
var result = preLoginFactory();
result.then(function (result) {
return result.data.Model.IntroMessage;
})
}
},
views: {
"content@": {
templateUrl: '/Account/Login',
controller: function ($scope, $stateParams, $location, LoginFactory, getPrelogin, preLoginFactory) {
console.log('the value of get pre login')
console.log(getPrelogin);
$scope.introMessage = getPrelogin;
$scope.loginForm = {
emailAddress: '',
password: '',
rememberMe: false,
returnUrl: $stateParams.returnUrl,
loginFailure: false
};
$scope.login = function () {
var result = LoginFactory($scope.loginForm.emailAddress, $scope.loginForm.password, $scope.loginForm.rememberMe);
result.then(function (result) {
if (result.success) {
if ($location.loginForm.returnUrl !== 'undefined') {
$location.path('/routeOne');
} else {
$location.path($scope.loginForm.returnUrl);
}
} else {
$scope.loginForm.loginFailure = true;
}
});
};
}//"LoginController"
}
}
})
解析对象
getPrelogin
应该返回result
变量,因为promisepreLoginFactory
工厂确实返回promise对象。通过在控制器内部注入getPrelogin
,您将直接从getPrelogin
返回数据,即result.data.Model.IntroMessage
代码
resolve: {
preLoginFactory: 'preLoginFactory',
getPrelogin: function(preLoginFactory) {
var result = preLoginFactory();
return result.then(function(response) {
return response.data.Model.IntroMessage;
})
}
},
你必须兑现你的承诺:
getPrelogin: function (preLoginFactory) {
var result = preLoginFactory();
return result.then(function (result) {
return result.data.Model.IntroMessage;
})
}
@JeanB很高兴帮助你..谢谢:)