【问题标题】:Have Angular re-scan the DOM让 Angular 重新扫描 DOM
【发布时间】:2018-06-22 23:02:14
【问题描述】:

我在服务器调用后将一些新的 html 插入到我的 Angular 2 应用程序中,我希望有一种方法来“刷新”或“重新扫描”,以便 (click)="myMethod()" 之类的东西评估。我对这个的所有搜索都出现了 AngularJS 文档,而不是 Angular 的最新(版本 6)。

这是一个例子:

我的 html 模板中有这个标签来打开一个 popper。

<li (click)="poppop();" [popper]="meetingDetails" [poppertrigger]="'click'" [popperhideonclickoutside]="true" [popperhideonscroll]="true">
    My Content
  </li>

Angular 采用了它,它最终在 DOM 中看起来像这样:

<li ng-reflect-content="[object Object]" ng-reflect-show-trigger="click" ng-reflect-hide-on-click-outside="true" ng-reflect-hide-on-scroll="true">My Content</li>

那么如何将顶部的标签注入到标签的 innerHTML 中并让它刷新到底部的标签中呢?

【问题讨论】:

    标签: angular dom


    【解决方案1】:

    每当您尝试通过 html、一些 javascript、外部 url、url 到资源(如 img)来修改 DOM 时,您需要告诉 Angular 您实际上知道自己在做什么,因此您需要使用 DomSanitizer

    【讨论】:

    • 我使用自定义管道和 bypassSecurityTrustHtml() 处理了这个问题。它仍然没有评估我插入的标签的角度绑定。
    【解决方案2】:

    我能够使用这个工具让它像我需要的那样工作: https://www.npmjs.com/package/ng-dynamic

    【讨论】:

      猜你喜欢
      • 2020-12-03
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多