I have this angular js code:
app.js
$stateProvider.state('home', {
url: '/',
component: 'homeComponent',
params: {
selectedFilter: undefined
},
resolve: {
isAdOps: function (authorizationService) {
var ldapGroup = authorizationService.getLdapGroup();
//.then(
// function(ldapGroup) { return ldapGroup === 'AdOps';},
// function () { return true;}
// );
var isAdOps = ldapGroup === 'AdOps';
console.log("isAdOps ?? "+isAdOps)
return isAdOps;
}
}
})
and this authorizationService:
var getLdapGroup = function () {
var deferred = $q.defer();
if (self.isInit) {
deferred.resolve(self.isAdOps);
}
else {
$http.get('api/Voices/getLdapGroup').then(
function successCallback(response) {
self.isAdOps = response.data === 'AdOps';
deferred.resolve(response.data);
}, function errorCallback(response) {
var error = !response.data ? "empty_error": response.data.errorMsg;
console.log(error);
self.isAdOps = true;
deferred.reject("data: "+response.data+" code:"+response.status+" "+response.statusText+", please look at the web console");
});
}
return deferred.promise;
};
and this home-component:
(function (app) {
app.component('homeComponent', {
templateUrl: 'partials/home-partial.html',
bindings: {
isAdOps: '<'
},
controller: ['$scope', '$state', function ($scope, $state) {
var self = this;
console.log("self.isAdOps = " + self.isAdOps);
self.isFullList = false;
Even though response.data === 'AdOps'
The home component is binded to isAdOps = false
how should i change the code?