Angular ng-show(或ng-if)未更新值更改

时间:2015-04-30 16:00:22

标签: ng-show

我在plunker有一个简单的例子。我在一个元素上有一个ng-show而在另一个元素上有一个select。 select应切换显示/隐藏其他(输入)元素。最初将select设置为Yes会按预期显示另一个输入元素。然后将select设置为No会将范围值按预期切换为false,但不会隐藏输入元素。

我已经搜索了与此相关的其他帖子,我发现的那些帖子在ng-show上有或没有{{}}(我不应该这样)或者没有价值$范围(我这样做)。我认为可能是$ scope.apply()问题,但是为什么第一个改为Yes工作?同时添加apply仍然不会使No(false)工作。我错过了什么?

TIA!

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.conf = {};
});

1 个答案:

答案 0 :(得分:5)

您需要检查 ng-show =" conf.is_ieee ==' true'" 而不是 ng-show =&# 34; conf.is_ieee" 即可。检查这个plunker。



<div class="col-md-4" ng-show="conf.is_ieee=='true'">
    <label class="form-label">IEEE Conference ID:</label>
    <input type="text" class="form-control" name="ieee-id" ng-model="conf.ieee_id"/>
  </div>
&#13;
&#13;
&#13;

http://plnkr.co/edit/MXvuhSPB0ChJyDrvPI55?p=preview