Что делает параметр angularCompileRows в ag-grid?

Сегодня я пытался заставить отдельные ячейки в ag-grid запускать события ng-click для метода области в родительском контроллере и пробовал массу разных вещей. Посмотрев на опубликованный рабочий код, я заметил, что все устанавливали angularCompileRows на true в gridOptions. Я попытался включить angularCompileRows в моем собственном коде, и это сработало! ng-click сработал и вызвал метод контроллера.

У меня вопрос: что именно делает angularCompileRows в ag-grid? Я могу найти только одну ссылку на него в официальной документации (в примерах кода на эту страницу), и на ней очень мало объяснений. Мне интересно, есть ли какие-либо побочные эффекты / недостатки при включении этой опции.


person Brian    schedule 07.07.2016    source источник
comment
По сути, он просто заставляет Angular добавлять строки в цикл дайджеста, чтобы он проверял наличие изменений, если я правильно понимаю.   -  person ruby_newbie    schedule 07.07.2016
comment
Документ, связанный с вопросом, теперь даже не упоминает angularCompileRows :-( Это тот случай, когда это должно быть установлено на true, иначе нажатие любой отображаемой кнопки не будет иметь никакого эффекта? Не могли бы вы опубликовать пояснительный ответ, чтобы помочь другим? Спасибо 1,000,000   -  person Mawg says reinstate Monica    schedule 21.04.2020


Ответы (1)


Немного погуглив, я нашел это в документации.

Насколько я понимаю, по умолчанию ag-grid строится с использованием необработанного JavaScript для повышения производительности. Однако, если вы хотите снизить производительность, вы можете установить для angularCompileRows значение true, и он создаст новую область для каждой строки, и вы сможете использовать AngularJS внутри Ячейки рендереры. Я думаю, что именно поэтому события AngularJS ng- не работают, если для angularCompileRows не установлено значение true.

person Brian    schedule 19.05.2020