在一些自定义指令中,嵌套绑定有一个非常棘手的问题。我有一个看起来有点像这样的JSON结构;
{
survey:
questions:[
{
text:'Question 1',
answers:[
{
text:'Answer 1'
},
..
]
},
...
]
}
每项调查都有很多问题,每个问题都有很多答案。我已经为调查表格和问题创建了指令。问题指令具有嵌套的答案指令。指令被循环并绑定到JSON。 HTML看起来像这样:
页面;
<div>
<survey-form></survey-form>
<div ng-repeat="question in survey.questions">
<question-form></question-form>
</div>
</div>
问题形式指令;
<div>
<h1>{{question.title}}</h1>
<div ng-repeat="answer in question.answers">
<answer-form></answer-form>
</div>
</div>
这一切都很好,我在控制台中没有错误。但是,只要对表单输入的绑定完成,看似随机的文本属性就会在底层JSON中设置为未定义。如果我绑定到任何可编辑的元素,一切都是预期的。此外,这不适用于嵌套JSON中的每个元素 - 我看到一些文本值设置为undefined,其他文本值保留在源JSON中。
任何人都可以解释这个问题吗?它真的很烦人,我想可能是Angular中的一个错误..
提前致谢
答案 0 :(得分:0)
它可以像question.text一样简单而不是question.title吗?我在你的JSON中注意到它的文字。如果不是这样,你可以提供答案的指令信息,并可能设置一个jsfiddle / plunkr来表明它的发生。