我在ng-repeat中的AngularJs中有一个选择字段:
HTML:
<span ng-repeat="lang in vm.formState.languageList track by $index">
<select ng-model="lang" ng-options="lang.name for lang in vm.langs">
<option value="">- Please Choose -</option>
</select>
</span>
Controller:
this.langs = [
{name: "English", id: "en"},
{name: "German", id: "ge"},
{name: "Spanish", id: "sp"},
{name: "French", id: "fr"},
...
];
formState.languageList是一个数组,包含用户在创建表单中选择的每个lang对象,例如: formState.languageList = [{name:"English",id:"en"},{name:"Spanish",id:"sp"}]
我的问题是:当我编辑表单时,我想要填写当前信息的表单字段(输入,复选框,选择...) . 一切正常,除了选择字段 .
如何在编辑表单时加载此选择字段?
提前致谢 .
1 回答
那是因为你正面临着名的点问题 . 您可以通过更改ng-model来确认它以使用$ parent
为什么它不起作用是因为ng-repeat是隔离范围指令 .
更好的解决方法是使用
controllerAs
语法