AngularJS ng-repeat не обновляет $ ctrl в пользовательском интерфейсе - PullRequest
0 голосов
/ 21 февраля 2019

Я обновляю свою модель методом applyType, но элементы не отображаются в пользовательском интерфейсе.

Вот что я делаю

Моя модель: model.js

export default function model(
  $scope,
) {

...

model.$name = 'editModelController';
model.$templateUrl = {
  sku: templateUrl,
};

Мой компонент:

index.js

export default function addItemDialog(app) {
  app.component('addItemDialog', {
    controller,
    bindings: {
      resource: '<',
      ngIf: '=',
    },
  });
}

addItemDialog.js

export default function addItem(
  $q,
  $mdDialog,
) {
  this.$onInit = () => {
    ...
    this.applyType();
  };
}

this.applyType = () => {
    this.units = this.loadMoreUnits();
};

addItem.$inject = [
  '$q',
  '$mdDialog',
];

addItemDialog.pug

md-select.select(
    ng-model="$ctrl.unit",
    placeholder="Unit",
    name="unit",
)
    md-option.select__option(
      ng-repeat="unit in $ctrl.units",
      value="{{ unit.unit }}",
    )
      .select__option-content
        span.select__option-text {{ unit.description }}

Я веду журнал консоли this.units там он обновлен, но не обновлен в пользовательском интерфейсе.

1 Ответ

0 голосов
/ 21 февраля 2019

Отвечая, так как мне не хватает представителя, чтобы комментировать.

Вы пытались получить доступ к объекту единиц следующим образом: unit in units вместо использования $ctrl?

Я видел несколько случаев, когда вы можете получить доступ к полям из контроллера напрямую, без необходимости явно ссылаться на контроллер.

С уважением,

M

...