AngularJS:HTML局部ng-如果在更新$ scope.loggedInUser时未更新

Thornierrat87

我是AngularJS社区的新手,希望有人可以帮助我解决以下问题。

我已经基于一个不完整的教程创建了一个轻量级的CMS系统,并亲自填写了一些内容,但是当$ scope更改时,我无法更新HTML部分。

HTML部分(admin-login.html)

<div ng-if="loggedInUser">
Welcome {{loggedInUser}} |  <a href="admin/pages">My Admin</a> | <a href="admin/logout">Logout</a>
</div>

我的指令(directives.js)

directive('adminLogin', [
  function() {
    return {
      controller: function($scope, $cookies) {
        var user = $cookies.get('loggedInUser', {path: "/"});
        $scope.loggedInUser = user;
      },
      templateUrl: 'partials/directives/admin-login.html'
    };
  }
])

我的控制器(controllers.js)

controller('AdminLoginCtrl', ['$scope', '$location', '$cookies', 'AuthService','$log','flashMessageService',
    function($scope, $location, $cookies, AuthService, $log, flashMessageService) {
      $scope.credentials = {
        username: '',
        password: ''
      };
      $scope.login = function(credentials) {
        AuthService.login(credentials).then(
          function(res, err) {
            $cookies.put('loggedInUser', res.data);
            $location.path('/admin/pages');
          },
          function(err) {
            flashMessageService.setMessage(err.data);

            $log.log(err);
          });
        };
    }
])

范围更新,但我必须刷新页面以显示或隐藏admin-login.html。

非常感谢您的帮助,在此先感谢您。

相同的儿子

$scope.loggedInUser一旦更新cookie,将不会更新,您应该注意指令中cookie的更改并$scope手动更新

directive('adminLogin', [
  function() {
    return {
      controller: function($scope, $cookies) {
        $scope.$watch(function () {
          return $cookies.get('loggedInUser', {path: "/"});
        }, function (value) {
          $scope.loggedInUser = value;
        });
      },
      templateUrl: 'partials/directives/admin-login.html'
    };
  }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AngularJS $ scope未更新

角度* ng如果在单击页面或alt + tab后更新(重新聚焦)

ng-如果在变量更改时不更新 DOM

如果在Quil上更新状态

如果在附加HTML时在jquery中循环

如何更新,如果在MySQL存在,否则插入

pandas:如果在循环中满足条件则更新值

如果在更新查询中不起作用

如果在 Oracle 上插入或更新不存在

防止$ scope更新时AngularJs内容闪烁

使用ng-repeat设置$ scope值时遇到问题-值未更新

如果在JVM仍在使用Jar时更新了Jar,会发生什么情况?

如果存在则更新,如果在MySQL中不存在则插入行

如果存在则更新多个数据,如果在laravel中不存在则创建

用* ng加载微调框如果在执行函数期间未显示

* ng如果在False时不删除元素,则在True时创建新元素

如果在angularjs中验证未正确完成,如何添加css类

Angular 2-值在输入文本框中未更新,但是如果在花括号内使用则更新

按钮控件附带的@scope值未更新?MVC AngularJs

angularjs指令未使用scope。$ watch进行更新

如果在Firefox中单击时鼠标被移动,HTML标签不会触发相应的输入

如果从外部ng-repeat $ scope进行的更新也未定义,则ng-repeat中的AngularJS ng-model $ scope是未定义的

* ng如果在模板中,否则

导入CSV并更新记录(如果在rails中存在)4

如果在另一个活动中添加了数据,如何更新recyclerView?

如果在嵌套循环中,数组中的项目不会正确更新

如果在更新过程中安排关机,会发生什么情况?

如果在javascript中的表格行上选中了复选框,则更新输入

如果在安装系统更新的同时关闭Windows,会发生什么最糟糕的事情?