在 Angular 应用中使用 JavaScript components/plugins

Using JavaScript components/plugins in an Angular app

到目前为止,我所了解的关于 Angular 的一切都告诉我 不能 直接操作 DOM,考虑到框架的运作方式,这是可以理解的。在 Angular 应用程序中使用外部 JavaScript 组件(例如 TinyMCE as described here)是否安全?如果是这样,有人可以解释为什么吗?我被要求调查这个主题,但到目前为止还没有找到任何超出 "don't touch the DOM".

的东西

当您想要包含依赖于直接 DOM 操作的 javascript 库时,您可以将其封装在组件或指令中。它可以根据需要修改 DOM 的这一部分。

您可以使用各种 Angular 组件生命周期挂钩来执行第三方库的设置和拆卸。

第三方库相关的数据可以通过@Input()参数传入。

如果您需要不断地向库传递数据,您可以向它传递一个代表相关状态流的 Observable。

第三方组件可以通过一个或多个 EventEmitter (@Output()) 与 Angular 世界通信。

当 DOM 的其他部分被库操纵时,事情变得棘手。


编辑:

有关如何使用 Split.js library with Angular, checkout this plunker: http://embed.plnkr.co/qGyQWUz16Z2PY1kFUXyt/

的示例