ng-repeat范围和动态ng模型

时间:2014-08-22 12:07:06

标签: angularjs angularjs-scope angularjs-ng-repeat

快速提问。我动态生成表单的一部分,即单选按钮部分,我正在使用ng-repeat。为此,我有以下代码循环并列出单选按钮选项:

 <div ng-repeat="choice in question.choices">
     <input name="{{q.name}}" type="radio" value={{choice.id}} ng-model="choice_[q.answer]" required /> {{choice.choice}}
 </div> 

我有两个问题,首先,我不确定我是否正确地动态分配我的ng模型。

其次,一旦模型被创建,它似乎在自己的范围内,并且由于它被封装在重复div中而无法在重复之外使用。

有没有办法可以访问这个模型?也许只是使用$ parent传递它通过父作用域?

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

我创建了一个plunker来展示如何访问你的模型:

Model access demo

<input type="radio" value={{choice.id}} ng-model="$parent.choice" required /> {{choice.choice}}

我为重复中的每个输入使用了相同的模型名称。这样,无论选择哪个输入,都会成为活动模型。这应该可以解决您的模型命名问题。

其次,ng-repeat为其生成的每个模板创建一个范围,因此您确实希望使用$ parent访问控制器范围内的模型。