只要在IONIC V1中打开关联的html,控制器就不会加载

时间:2017-09-04 07:29:04

标签: angularjs ionic-framework

在我的应用程序中,我正在尝试使用dashboard.html,如果条件为真,则会关联控制器,但问题是第一次加载控制器但是第二次打开html页面但不仅仅是加载控制器。

我错误的地方可能有什么不对,请帮我找。

app.js

.state('login', {
  url: '/login',
  templateUrl: 'templates/login.html',
  controller: 'LoginCtrl'
})
.state('app', {
  url: '/app',
  abstract: true,
  templateUrl: 'templates/menu.html',
  controller: 'AutoLoginCtrl'
})
.state('app.autoLog', {
  url: '/autoLog',
  controller: 'AutoLoginCtrl'
})
.state('app.search', {
  url: '/search',
  views: {
    'menuContent': {
      templateUrl: 'templates/search.html'
    }
  }
})

.state('app.browse', {
  url: '/browse',
  views: {
    'menuContent': {
      templateUrl: 'templates/browse.html'
    }
  }
})
.state('app.profileInfo', {
  url: '/profileInfo/:success',
  views: {
    'menuContent': {
      templateUrl: 'templates/profileInfo.html',
      controller: 'ProfileCtrl'
    }
  }
})

.state('app.profile', {
  url: '/profile/:data',
  views: {
    'menuContent': {
      templateUrl: 'templates/profile.html',
      controller: 'ProfileCtrl'

    }
  }
})

.state('app.dashboard', {
  url: '/dashboard',
  views: {
    'menuContent': {
      templateUrl: 'templates/dashboard.html'
    }
  }
})

.state('app.dog', {
  url: '/dog',
  views: {
    'menuContent': {
      templateUrl: 'templates/dog.html',
      controller: 'ProfileCtrl'
    }
  }
});
$urlRouterProvider.otherwise('/app/autoLog'); 

loginController.js

如果以下条件为真,则会调用.state('app.dashboard')

if (data[0].Userprofile1 == true && data[0].Userprofile2 == true) {
    $ionicLoading.hide();
    console.log('My profile setup is over');
    $state.go("app.dashboard");
}

dashboardController.js

app.controller('dashboardCtrl', function($scope, $http, $state, UserService) {
	$scope.pageName = 'Hi i am user';
	console.log('Hi home controller loading')
	var userStatus = UserService.getUser()
      console.log(userStatus);
      if (userStatus != null) {
       $scope.ersrserer = userStatus.userID;
       console.log($scope.ersrserer);
      }  else {
        console.log('its empty');
      }
})

第一次调用dashboard.html时它会加载控制器但是第二次它不会加载控制器,这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

状态需要使用它初始化控制器,您已添加控制器,并且在状态内可以添加解析块:

Page
    - chat
    - iframe
        -- emscripten-generated page