视图不更新——Angular



索引文件中的视图未更新。下面是代码片段。

指数:

<body class="container" ng-controller="indexController">
  <div ng-if="isLogin">
      <div class="wrapper">
          <div ng-include="src/partial/header.html"></div>
          <div ng-include="src/partial/leftNavBar.html"></div>
          <div ui-view></div>
          <div ng-include="src/partial/footer.html"></div>
      </div>
  </div>
  <div ng-if="!isLogin">
      <div ui-view></div>
  </div>
  </body>

indexController:

.controller('indexController', indexController);
        function IndexController(global, $scope){
            function setupLogin(){
                $scope.isLogin = global.getLogin();
            };
            $scope.$on('UPDATE_Login', setupLogin);
        }

和我的登录控制器:

.controller('Login', Login);
  /* @ngInject */
    function Login(auth, $location, global, $scope){
        var vm = this;
        vm.loginBtn = function login(credentials){
            vm.dataLoading = true;
            auth.loginService(credentials).then(function (result){
                vm.dataLoading = false;
                if(result.responseCode === '00'){
                    global.setLogin(true);
                    $scope.$broadcast('UPDATE_Login');
                    $location.path('/default');
                }else {
                    vm.errorMessage = result.responseDescription;
                }
            });
        }
}

的问题,我所面临的是,当范围从登录控制器广播,它不显示,并包括我的部分标题导航和页脚文件。

我在这里错过了什么吗?

您是否尝试在timeOut中包装setupLogin():

.controller('indexController', indexController);
    function IndexController(global, $scope,$timeout){
        function setupLogin(){
            $timeout(()=>{
                $scope.isLogin = global.getLogin();
              },100); 
        };
        $scope.$on('UPDATE_Login', setupLogin);
    }

有时它有助于解决这样的问题

古德勒克

相关内容

  • 没有找到相关文章

最新更新