Angular JS - 选择字段在编辑时不加载内容

时间:2016-07-18 08:43:44

标签: angularjs typescript

我在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”}]

我的问题是:当我正在编辑表单时,我想要填写当前信息的表单字段(输入,复选框,选择...)。除了选择字段外,一切正常。

如何在编辑表单时加载此选择字段?

提前致谢。

1 个答案:

答案 0 :(得分:0)

那是因为你正面临着名的点问题。 您可以通过更改ng-model来确认它以使用$ parent

  ng-model="$parent.lang"

为什么它不起作用是因为ng-repeat是隔离范围指令。

更好的解决方法是使用controllerAs语法