Angluar 里面我需要用异步返回的数据来设置一个状态来让页面显示对应的页面 应该怎么做啊

首先我全局设置一个初始的标识符: vm.Flag = false
和一个能接收返回数据的空数组: vm.checkTypeData = [];
然后再angluar返回的异步操作中修改 Flag的状态:
restAPI.localecheck.queryList.save({}, {

          awId: vm.awid
        })
        .$promise.then(function (resp) {
          angular.forEach(resp.rows, function (v, k) {
            if (v.checkFlag === 'true' || v.checkFlag === true) {
              v.checkFlag = true;
            } else if (v.checkFlag === 'false' || v.checkFlag === false) {
              v.checkFlag = false;
            }
          });
          vm.checkTypeData = resp.rows;//获取到异步返回的数据
          if(vm.checkTypeData[0].checkEName){//通过异步返回数据修改Flag的状态
              vm.Flag = true //
          }
        });

下面是我页面具体的显示:

    <span ng-if='!Flag'>{{item.checkName}}</span>
    <span ng-if='Flag'>{{item.checkEName}}</span>

这个时候我就发现不管判断条件怎么改,好像异步里面修改Flag的操作没有起作用始终都显示:

    <span ng-if='!Flag'>{{item.checkName}}</span>

应该怎么办才能让页面根据异步返回的数据显示对应的文字 小白求教

阅读 1.6k
1 个回答
<span ng-if='!(checkTypeData && checkTypeData[0].checkEName)'>{{item.checkName}}</span>
<span ng-if='(checkTypeData && checkTypeData[0].checkEName'>{{item.checkEName}}</span>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题