Ich habe ng-if auf einem ul verwendet, dann ng-repeat auf li und dann ng-model auf den spezifischen Elementen darin. Wie kann ich diesen Modellwert auf ng-model erhalten? Ich kann den Wert aber immer noch nicht abrufen. Der Code lautet wie folgt:
<ul ng-if="datas.vote_choose_type==2">
<li class="opt" ng-repeat="num in datas.vote_options track by $index" ng-class="{'finished':num.is_voted == 1,'1':num.is_voted == 2}">
<input type="radio"
class="magic "
name="quan1"
value="{{num.option_id}}"
id="{{num.option_id}}"
title="{{num.option}}"
ng-model="$parent.option_id"
ng-checked="$parent.option_id"
ng-class="{'magic-radio':datas.vote_choose_type==1,'magic-checkbox':datas.vote_choose_type==2}" />
<label for="{{num.option_id}}">{{num.option}}</label>
</li>
</ul>
Ich habe versucht, ng-show zu verwenden, aber es wirkt sich auf einen bestimmten Parameterwert aus, der vom Server abgerufen wird. Könnten Sie mir bitte helfen, zu erklären, liegt es am Umfang? Oder gibt es einen anderen Grund? Gibt es eine gute Möglichkeit, dieses Problem zu lösen? ! !
因为子作用域的原因,只需要在ng-if下面的ng-repeat里面的ng-model上加一个$parent.$parent.你的双向数据绑定名称即可,已经测试过,暂未发现其他问题。