Javascript 基于ajax返回值的Ngshow/hide

Javascript 基于ajax返回值的Ngshow/hide,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,有人知道一种基于ajax返回值动态使用ngshow显示/隐藏内容的方法吗 这就是我到目前为止所做的: $scope.loggedShow = false; var user = ''; $scope.login = function(username, password) { $http({ url: 'ajax/login.php', method: 'POST', data: { 'username': username, 'pass

有人知道一种基于ajax返回值动态使用ngshow显示/隐藏内容的方法吗

这就是我到目前为止所做的:

$scope.loggedShow = false;

var user = '';

$scope.login = function(username, password) {

  $http({
    url: 'ajax/login.php',
    method: 'POST',
    data: {
      'username': username,
      'password': password
    }

  }).success(function(data, status, headers, config) {

    console.log(data);
    console.log('working');

    user = 'logged';


    if (user == 'logged') {

      $scope.loggedShow = true;

    } else {

      $scope.loggedShow = false;

    }

    getBanners();

  }).error(function(data, status, headers, config) {
    console.log('womp womp');
  });


};
下面是html:

<div class="widget-header header-color-blue"  ng-show="loggedShow" >
    <div class="row">
        <div class="col-sm-6">
            <h4 class="bigger lighter">
                <i class="glyphicon glyphicon-align-justify"></i>&nbsp;
                BANNERS
            </h4>
        </div>

        <div class="col-sm-3">
            <button restrict access="admin" ng-click="addNewClicked=!addNewClicked;" 
                    class="btn btn-sm btn-danger header-elements-margin">
                <i class="glyphicon  glyphicon-plus"></i>&nbsp;
                NEW PROJECT
            </button>
        </div>

        <div class="col-sm-3">
            <input type="text" ng-model="filterBanners" 
                   class="form-control search header-elements-margin" 
                   placeholder="FILTER BANNERS">
        </div>
    </div>      
</div>

横幅
新项目

基本上,我将控制器中的值设置为false,然后当返回值出现时,我验证它并将其设置为true,这将显示元素。不幸的是,这并没有达到预期效果。它可以很好地处理原始语句(它正确地隐藏了元素),但在返回值时范围不会更新。这就是角度的工作原理吗?我应该使用指令吗

数据是文本字符串吗?你应该检查它。它正在正确地处理循环,我可以在检查中记录日志。user==“logged”有效且为字符串。您可以从代码中看到,我实际上只是手动设置它,以检查我是否可以让它工作。看起来此视图超出了控制器的范围。那么loggedShow每次都是未定义的,ng show每次都被解释为false。查看此视图是否在您设置变量的ng控制器作用域内。您是否尝试$apply在http调用返回后触发摘要,即使值更改,您的视图也可能无法更新。如果loggedShow不起作用,请告诉我们您是否看到您的div?