AngularJS вложенный ng-repeat не меняет модель - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь перебрать вложенный объект и использовать флажок для переключения атрибута.Я использую вложенные операторы ng-repeat.Данные отображаются нормально, но когда я сохраняю данные, оказывается, что они на самом деле не изменяют ng-model, как обычно.Есть ли что-то, чего мне здесь не хватает?

Вот HTML-код:

<div class="settings-container">
  <div ng-repeat="(key, category) in vm.graphSettings">
    <div class="row">
      <div class="col-xs-12">
        <h3>{{ key | titleCase }}</h3>
      </div>
    </div>
    <div class="row">
      <div class="col-lg-8 col-md-10 col-xs-12">
        <div class="row select-row">
          <div class="col-xs-3" ng-repeat="(id, value) in category">
            <div class="checkbox">
              <label>
                <input type="checkbox" ng-model="value">
                <div class="pseudo-checkbox"></div>
                <span class="input-name">{{ id | titleCase }}</span>
              </label>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

, а вот объект, отраженный выше vm.graphSettings.

  graph: {
    general: {
      showLegend: false,
      showNullValues: false,
      showTitle: false,
    },
    xAxis: {
      showLabel: false,
      showXAxis: true,
      dynamicLines: true
    },
    yAxis: {
      showLabel: false,
      showYAxis: false
    }
  }

1 Ответ

0 голосов
/ 24 июня 2019

ng-model должно быть именем свойства модели, а не самим значением:

<div class="settings-container">
  <div ng-repeat="(key, category) in vm.graphSettings">
    <div class="row">
      <div class="col-xs-12">
        <h3>{{ key | titleCase }}</h3>
      </div>
    </div>
    <div class="row">
      <div class="col-lg-8 col-md-10 col-xs-12">
        <div class="row select-row">
          <div class="col-xs-3" ng-repeat="(id, value) in category">
            <div class="checkbox">
              <label>
                ̶<̶i̶n̶p̶u̶t̶ ̶t̶y̶p̶e̶=̶"̶c̶h̶e̶c̶k̶b̶o̶x̶"̶ ̶n̶g̶-̶m̶o̶d̶e̶l̶=̶"̶v̶a̶l̶u̶e̶"̶>̶
                <input type="checkbox" ng-model="category[id]">
                <div class="pseudo-checkbox"></div>
                <span class="input-name">{{ id | titleCase }}</span>
              </label>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...