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

D D*_*ham 4 ng-show

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

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

TIA!

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

app.controller('MainCtrl', function($scope) {
  $scope.conf = {};
});
Run Code Online (Sandbox Code Playgroud)

Din*_*bhi 5

您需要检查ng-show ="conf.is_ieee =='true'"而不是ng-show ="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>
Run Code Online (Sandbox Code Playgroud)

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