搜索

首页  >  问答  >  正文

angular.js - 在一个父子元素上同时使用ng-if,ng-repeat的情况下,怎么获取到ng-model的值?

在一个ul上面使用了ng-if,然后在li上面使用了ng-repeat,再然后里面具体上面的元素上使用了ng-model,请问怎么取到这个model值,已经在ng-model上使用了$parent,但是还是取不到值,代码如下:

<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>

已经尝试过使用ng-show,但是会影响从服务端获取的具体的某个参数值,请问各位路过的大神们,帮忙解释一下,是因为作用域的原因吗?还是其他什么原因,有什么好的方法可以解决这个问题,跪谢!!!

过去多啦不再A梦过去多啦不再A梦2764 天前816

全部回复(1)我来回复

  • 仅有的幸福

    仅有的幸福2017-05-27 17:46:31

    因为子作用域的原因,只需要在ng-if下面的ng-repeat里面的ng-model上加一个$parent.$parent.你的双向数据绑定名称即可,已经测试过,暂未发现其他问题。

    回复
    0
  • 取消回复