我在
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 = {}; });
解决方法
您需要检查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>