我在AngularJs中有一个选择字段在ng-repeat中:
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>
控制器:
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”}]
我的问题是:当我正在编辑表单时,我想要填写当前信息的表单字段(输入,复选框,选择...)。除了选择字段外,一切正常。
如何在编辑表单时加载此选择字段?
提前致谢。
答案 0 :(得分:0)
那是因为你正面临着名的点问题。 您可以通过更改ng-model来确认它以使用$ parent
ng-model="$parent.lang"
为什么它不起作用是因为ng-repeat是隔离范围指令。
更好的解决方法是使用controllerAs
语法