Angularjs 当Angular controller加载DOM时运行JavaScript

Angularjs 当Angular controller加载DOM时运行JavaScript,angularjs,angularjs-directive,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我有一个带ng重复的角度模板。ng repeat加载文本区域,我想根据它们的内容自动调整大小。为了做到这一点,我需要在每个textarea元素上初始化一个插件。问题是textareas需要存在才能在其上运行脚本,除非设置超时,否则我不知道何时/何地运行init调用。我需要在控制器运行并且ng repeat将所有TextArea加载到DOM中后运行它。我似乎找不到当控制器完成它的工作时触发的事件 这似乎是一件很平常的事。我遗漏了什么?您应该将此脚本放在指令中,并将其放在ng repeat上。下面是

我有一个带ng重复的角度模板。ng repeat加载文本区域,我想根据它们的内容自动调整大小。为了做到这一点,我需要在每个textarea元素上初始化一个插件。问题是textareas需要存在才能在其上运行脚本,除非设置超时,否则我不知道何时/何地运行init调用。我需要在控制器运行并且ng repeat将所有TextArea加载到DOM中后运行它。我似乎找不到当控制器完成它的工作时触发的事件


这似乎是一件很平常的事。我遗漏了什么?

您应该将此脚本放在指令中,并将其放在ng repeat上。下面是一个问题的答案,它很好地解释了如何开始

<div class="MyTextArea" ng-repeat="text int texts" my-directive>{{text}}</div>
{{text}

我最后制作了一个名为“autoResize”的指令,并将其放在文本区域本身上。然后在指令中,我在scope.$watch()内传入的元素上运行插件。