0

我正在使用 twitter 嵌入 twitter 提要小部件,它只需要使用脚本标签

        <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

和页面上的html标签。这工作正常。但是,就我而言,网址来自服务器端。这对我不起作用,因为似乎在 html 标记呈现时,url 值在服务器端不可用。

并且当它可用时,twitter 小部件不会刷新以获取新的 url。

a 标签如下所示

 <a class="twitter-timeline" [href]="core.twitterFeed">Twitter Feed</a>

如何通过等待它触发来使其工作?我试过做类似下面的事情,但这不起作用


    <mat-card-content *ngIf="core.twitterFeed != undefined">
        <a class="twitter-timeline" [href]="core.twitterFeed">Twitter Feed</a>

    </mat-card-content>

4

1 回答 1

0

您可以尝试订阅路由器的事件并在 URL 满足您的条件时将标志设置为 true

isBrowser = false;

ngOnInit() {
this.subscription = router.events.subscribe(e => {
    if(e instanceof NavigationEnd){
      this.isBrowser = true;
    }
  });
}

并使用此标志显示您的元素

<mat-card-content *ngIf="isBrowser">
    <a class="twitter-timeline" [href]="core.twitterFeed">Twitter Feed</a>
</mat-card-content>

于 2019-06-21T17:11:36.470 回答