Как я могу передать дополнительный параметр, когда цвет изменился? - PullRequest
1 голос
/ 28 мая 2019

Я хочу передать некоторый дополнительный параметр, как этот, когда цвет изменился?

Я использую палитру цветов angularjs.

https://github.com/ruhley/angular-color-picker/

Я хочу использовать его, как показано ниже

<color-picker ng-model="account_type.type_color" options="options" event-api="eventApi(extraParameter)">

<color-picker ng-model="account_type.type_color" options="options" event-api="eventApi">

Не могли бы вы помочь мне решить эту проблему?

1 Ответ

1 голос
/ 29 мая 2019

Вы можете добавить атрибут (скажем, id) к компоненту и прочитать его в обратном вызове onChange (используя api).

angular.module('app', ['color.picker']).
controller('ctrl', function($scope) {
  $scope.color = '#FF0000';
  $scope.eventApi = {
    onChange:  function(api, color, $event) {
      const id = api.getElement().attr('id');
      console.log(id, color);
    },
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/tinycolor/1.4.1/tinycolor.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/angularjs-color-picker/3.4.8/angularjs-color-picker.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angularjs-color-picker/3.4.8/angularjs-color-picker.js"></script>

<div ng-app="app" ng-controller="ctrl">
  <color-picker id="cp-1" ng-model="color" options="options" api="api" event-api="eventApi"></color-picker>
</div>

https://stackblitz.com/edit/angularjs-bqe6ht?file=home%2Fhome.controller.js

...