检测 ng 重复内选择的变化



我是 Angularjs 的新手,我在 ng-repeat 中的第一个选择中有一些问题需要阻止更改。 我想检测更改以使用控制器中的函数更新第二个选择。

    <tr ng-repeat="detailDemande in vm.demande.details track by $index">
    <td><select id="field_type" name="type" ng-model="detailDemande.type" ng-options="typeMateriel as typeMateriel.nom for typeMateriel in vm.types | orderBy:'nom' track by typeMateriel.id" >
                        </select></td>
<td><select  id="field_article" name="article" ng-model="detailDemande.article" ng-options="article as article.nom for article in vm.articles | orderBy:'nom' track by article.id">
                        <option value=""></option>
                    </select></td>
    </tr>

请帮忙谢谢

假设这是您的第一个选择(我只是为了空间而削减了ng选项(:

<select id="field_type" name="type"
  ng-options="typeMateriel in vm.types"
  ng-model="vm.detailDemande.type" ng-change="vm.changeSelect()" />

那么这是您的第二个选择:

<select id="field_article" name="article"
  ng-options="article in vm.articles"
  ng-model="vm.detailDemande.article" />

在第一个选择的 html 中,有 ng-change 属性,指向控制器中的一个方法。您可以使用它来更改 vm.articles 中显示的内容:

changeSelect() {
  if (detailDemande.type === 'foo') {
    this.articles = ['new', 'list'];
  }
}

最新更新