angular 范围参考无效

angular scope reference not working

下面的 ng-show div 不工作。我从另一个 div 但在控制器中引用它。请帮忙。

<div ng-controller="MainCtrl" >
<div data-ng-repeat="choic in choice"  >
<form >
<input ng-model="mustShow"  class="label_align" type="radio" name="customer" value="no"  >
<div class="mediumSubhead"> Information housed </div>
 <br/>        
<input ng-model="mustShow"  class="label_align" type="radio" name="customer" value="yes" >
<div class="mediumSubhead"> Information housed outside </div>
            </form>
</div> 
<div ng-show="mustShow == 'yes'" > ----this part doesnt work
<input name="first_name"  class="text_box_space" type="text" value=""  style="color: black;"  size="25" width="200px" >
</div>
</div>
Controller.js

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

  app.controller('MainCtrl', function($scope) {

  $scope.choice = [{id: 'choic1'}];

});

您在 ng-repeat 内声明 ng-model,这会在 ng-repeat 范围内添加该范围变量,因为 ng-repeat 确实会在每次迭代时创建一个新范围。您可以通过使用 $parent 符号指向父作用域变量来引用父作用域。

ng-model="$parent.mustShow"

备选

您可以使用点规则来使用原型继承,例如

$scope.option = {
   'mustShow': false
}

然后使用像ng-model="option.mustShow"