我正在使用twitter嵌入twitter feed小部件,它只需要使用脚本标签
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
以及类似于页面上的html标签。这可以很好地工作。然而,在我的例子中,url来自服务器端。这对我不起作用,因为在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>
发布于 2019-06-22 01:11:36
您可以尝试订阅路由器的事件,并在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>
https://stackoverflow.com/questions/56707680
复制相似问题