在下面,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'}];
});
答案 0 :(得分:1)
您在ng-model
内声明ng-repeat
,这是在ng-repeat
范围内添加范围变量,因为ng-repeat
确实在每次迭代时创建了一个新范围。您可以使用$parent
表示法引用父作用域来指示父作用域变量。
ng-model="$parent.mustShow"
<强>替代强>
您可以使用点规则来使用原型继承,例如
$scope.option = {
'mustShow': false
}
然后像ng-model="option.mustShow"