Передающий элемент AngularJS в функцию rto - PullRequest
0 голосов
/ 25 октября 2019

В последнее время я работаю над приложением AngularJS, и мне нужно передать элемент в функцию, чтобы я мог получить к нему доступ в реализации контроллера. См. Код:

<textarea class="responsive-textarea" id="textarea" ng-model="textCtrl.textarea"
          ng-change="textCtrl.resize($event);">
</textarea>

// Контроллер класса

public resize(event) {
    console.log(event);
}

Консоль регистрирует «неопределенное» значение и выдает ошибку при попытке войти event.currentTarget

Требуемый результат для изменения размера текстовой области при каждом изменении значения

1 Ответ

0 голосов
/ 25 октября 2019
The desired result is to make the textarea resize each time value is changed

Прежде всего - вы можете искать готовые решения в Интернете.

Если вы хотите сделать это самостоятельно - напишите директиву, обычно плохой идеей является манипулирование элементами непосредственно в контроллере. В результате вы получите что-то вроде этого:

<textarea my-resisze...

app.directive('myResize', () => {
  return {
    require: 'ngModel',
    link: (scope, el, attrs, ngModelCtrl) => {
        ngModelCtrl.$viewChangeListeners.push(() => {
            console.log(el); // resize here
        });
    }
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...