如何将ng repeat中生成的md select绑定到不同的模型



我有以下代码:

<div layout="row" class="row" layout-xs="column" ng-repeat="dataset in datasetsEnv">
<div class="large-12 columns end" flex>
    <md-input-container layout="row" flex>
        <label>Environment setting for dataset {{dataset.datasetName}}:</label>
        <md-select ng-model="model.environments" style="min-width:410px;">
            <md-option ng-repeat="environment in dataset.environments" value="{{environment.DbEnvironmentId}}" ng-selected="isUserEnvSelected(environment)">{{environment.DisplayName}}</md-option>
        </md-select>
        <div></div>
    </md-input-container>
</div>

在上面的代码中,我生成了许多mdSelect指令,但我的问题是它们都绑定到一个模型ng-model="model.environments"。有没有一种方法可以将每个生成的mdSelect绑定到一个唯一的模型,我稍后可以参考这个模型?

这应该没问题。

<div layout="row" class="row" layout-xs="column" ng-repeat="dataset in datasetsEnv">
  <div class="large-12 columns end" flex>
     <md-input-container layout="row" flex>
        <label>Environment setting for dataset {{dataset.datasetName}}:</label>
      <md-select ng-model="dataset.selectedEnvironment" style="min-width:410px;">
        <md-option ng-repeat="environment in dataset.environments" value="{{environment.DbEnvironmentId}}" ng-selected="isUserEnvSelected(environment)">{{environment.DisplayName}}</md-option>
        </md-select>
    <div></div>
</md-input-container>

你这样尝试过吗:

<div layout="row" class="row" layout-xs="column" ng-repeat="dataset in datasetsEnv">
  <div class="large-12 columns end" flex>
     <md-input-container layout="row" flex>
        <label>Environment setting for dataset {{dataset.datasetName}}:</label>
      <md-select ng-model="model.environments.dataset[datasetName]" style="min-width:410px;">
        <md-option ng-repeat="environment in dataset.environments" value="{{environment.DbEnvironmentId}}" ng-selected="isUserEnvSelected(environment)">{{environment.DisplayName}}</md-option>
        </md-select>
    <div></div>
</md-input-container>

这将向model.environments添加属性dataset,其中datasetarraydatasetname等于模型值。

最新更新