Javascript 即使为true,角度ng也会删除元素

Javascript 即使为true,角度ng也会删除元素,javascript,angularjs,Javascript,Angularjs,因此,我有一个dataservice函数,通过api调用,它可以获取登录帐户的类型(admin和customer是其中的两个) 如果客户已登录,则我的数据表中不应显示五列。 所以我使用了一个ng,如果它似乎不起作用 this.hideSensitiveData = true; function updateHideSensitiveDataFlag() { return dataservice .getUserType() .then(

因此,我有一个dataservice函数,通过api调用,它可以获取登录帐户的类型(admin和customer是其中的两个)

如果客户已登录,则我的数据表中不应显示五列。 所以我使用了一个ng,如果它似乎不起作用

this.hideSensitiveData = true;
function updateHideSensitiveDataFlag() {
        return dataservice
           .getUserType()
           .then(function (data) {
               var userType = data;
               this.hideSensitiveData = userType === "Customer";
           });
    }
还有一个女秘书(在thead和tbody):

EDIT2:响应重复标志。实际上我有
var self=this
在控制器的顶部。。。这就是为什么大家都这么困惑的原因吗?

因此,我使用self.hideSensitiveData而不是this.hideSensitiveData。我不知道这很重要。

你的角度是什么?还有什么是
this
?“this”对我来说似乎可疑使用$scope它只在控制器和视图之间通信可能他们正在使用controllera这是什么?如果将hideSensitiveData绑定到$scope,ng If=“this.hideSensitiveData”应该是ng If=“hideSensitiveData”。如果您使用的是ControllerAs语法(例如ng controller=“MyCtrl as Ctrl”),ng If=“this.hideSensitiveData”应该是ng If=“Ctrl.hideSensitiveData”。
<th sort by="'pumpPressure'" order="order" reverse="reverse" ng-if="this.hideSensitiveData">{{ 'PumpPressure' | translate}}</th>

<td ng-if="this.hideSensitiveData">{{sequence.pumpPressure.toFixed(1)}}</td>
function getUserType() {
        return $http.get('/api/v2/user/getUserType/')
               .then(function (xhr) {
                   logger.info('userType loaded: ', xhr);
                   var userType = xhr.data;
                   return userType;
               })
               .catch(function (message) {
                   logger.error('XHR Failed for userType', message);
                   return $q.reject(message);
               });
    }