Как я могу создать директиву, которая сбрасывает значение в раскрывающемся списке?

0

Я создал tabcontrol с директивой dropdown цветов для каждой вкладки. Я хочу сбросить значение dropdownvalue во всех вкладках за один раз. Это директива:

<button class="btn btn-warning" ng-click="colors=' ' "></button>

Как я могу сбросить значение цвета?

Plunkr: http://plnkr.co/edit/AasWSJzBWib4aRZuAoBv?p=preview

  • 0
    Вы хотите сбросить выпадающее значение во всех вкладках с помощью одной кнопки. Верно?
  • 0
    да с помощью одной кнопки я хочу сбросить значения.
Теги:
twitter-bootstrap-3

1 ответ

1
Лучший ответ

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

Внутри TabCtrl я добавил функцию, которая сбрасывает свойство colors. Вы можете сделать это, установив цвет в пустую строку или удалив свойство цвета. Выберите то, что вы предпочитаете.

  $scope.resetColors = function () {
    for (i=0;i<$scope.tabs.length;i++) {
      delete $scope.tabs[i].color;
      //$scope.tabs[i].color = ""; --Optional instead of the above
    }
  }

Надеюсь, это решение будет работать для вас.

Plnkr: http://plnkr.co/edit/NLKVlMTPxSWV2vUwZdri

  • 0
    Это работает, но я ожидаю, что функция resetcolors внутри определения директивы?
  • 0
    Это тоже возможно ... см. Plnkr.co/edit/NLKVlMTPxSWV2vUwZdri?p=preview . Но поскольку кнопка управляет содержимым внутри ваших вкладок, я бы не советовал указывать эту функцию внутри контроллера директив, поскольку он не контролирует вашу директиву. Помещение функции в ваш TableCtrl также сделает ваш код более понятным.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню