Angular:如何从另一个范围刷新视图?

时间:2016-01-04 08:48:49

标签: angularjs

问题: 我有一个简单的登记表。在新用户执行身份验证后,我的应用程序会将他带到一个新链接但不显示包含内容的新页面,并且不在视图中切换ng-if。因此View不会刷新(但是当我按下F5按钮时一切都很好),我试图刷新它,但实际上并不了解我需要运行什么

报名表:

  1. 服务Authentication。将数据设置为localStorage并转移到新链接的方法:
  2.  Authentication.registration = function(data) {
       localStorage.setItem('registrationData', JSON.stringify(data));
       $location.path('/userPage');
     }
     Authentication.ifLog = function() {
       // verify if the user exists in localStorage
     }

    1. 弹出式登录表单,directive函数中的Link(带有自己的范围)方法:
    2.  $scope.registration = function(form) {
           Authentication.registration(
           };

      1. 这就是切换菜单和转移到用户页面的全部内容。当用户登录时,我们会向他显示第一个和第三个菜单并将他转移到新页面。 'Base' - 它是一个控制器,我从ifLog service
      2. 调用Authentication方法

        <li ng-if="Base.logined"><a href="#userPage">UserPage</a></li>
        <li ng-if="!Base.logined" ng-click="Base.toggleModal()">LogIn</li>
        <li ng-if="Base.logined">{{Base.user.name}}</li>

        如何更新视图?

1 个答案:

答案 0 :(得分:0)

您的变量在控制器中更新,但不在视图中。您可以使用scope apply更新视图中的变量。