Angular 1.x Ng-If语句适用于&&但不是||,为什么?

时间:2017-03-16 22:24:03

标签: javascript angularjs

有一个ng-if链接显示按钮:

<button ng-if="myOwnProfile == false || AreWeFriends == false" class="btn btn-default" ng-click="connect($id)">connect</button>

我希望它显示是否为假;但是使用此代码,myOwnProfile永远不会被评估,也不起作用。如果用户正在查看他们自己的个人资料,那么应该发生的事情(当我自己拥有每个陈述时这是有效的)是一个按钮消失,如果用户不是“朋友”,则会显示该按钮。和某人在一起。

声明自己工作正常,但当我使用||时,它拒绝工作:( 当我使用&#34;&amp;&amp;&#34;声明,他们确实评估正确;但是,为什么这个逻辑在使用&#34;和&#34;时会起作用?我想做一个/或。

1 个答案:

答案 0 :(得分:1)

不显示的条件:ownprofile并且是朋友

所以显示的条件:不是自己的朋友或朋友

angular.module('app', []).controller('myCtrl', function($scope) {
  $scope.myOwnProfile = true;
  $scope.AreWeFriends = true;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="myCtrl"><button ng-if="myOwnProfile == false || AreWeFriends == true" class="btn btn-default" ng-click="connect($id)">connect</button>
  <button ng-click="myOwnProfile = !myOwnProfile">My Own Profile</button>
  <button ng-click="AreWeFriends = !AreWeFriends">AreWeFriends</button>

  <div>
    myOwnProfile: {{ myOwnProfile }} <br> AreWeFriends: {{ AreWeFriends }}
  </div>
</div>