单击按钮时更改ng-hide值

时间:2016-06-20 07:30:24

标签: angularjs

我在点击按钮后做了一个小例子来更改ng-hide的值,但它没有用。

我试过了:



angular.module('myModule', []).controller('myController', function ($scope) {
  $scope.hide= false
  $scope.change = function () {
    $scope.hide = !$scope.hide  
  };
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myModule" ng-controller="myController">
  <p ng-hide="{{hide}}">some text...</p>
  <button ng-click="change()">change</button>
</div>
&#13;
&#13;
&#13;

我的问题是:我错过了什么?

3 个答案:

答案 0 :(得分:4)

删除模板中隐藏的括号..这将有所帮助。

ng-hide="hide"

答案 1 :(得分:1)

您可以使用ternary条件,例如

top

答案 2 :(得分:1)

Angular使用{{...}}将某事标记为表达式。 但是hide已经是一个角度表达式,所以你得到表达式的表达式,它打破了双向绑定,只在页面加载时被评估一次...

所以要解决问题,只需删除括号

即可
ng-hide="hide"

有关详细信息,请参阅here

&#13;
&#13;
angular.module('myModule', []).controller('myController', function ($scope) {
  $scope.hide= false
  $scope.change = function () {
    $scope.hide = !$scope.hide
  };
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myModule" ng-controller="myController">
  <p ng-hide="hide">some text...</p>
  <button ng-click="change()">change</button>
</div>
&#13;
&#13;
&#13;