首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在angular2中无限调用的ngSrc函数

在angular2中无限调用的ngSrc函数
EN

Stack Overflow用户
提问于 2016-10-03 22:13:48
回答 1查看 282关注 0票数 0

为了在iframe中加载youtube影片,我的模板中包含以下内容:

代码语言:javascript
复制
<iframe [src]="getYouTubeUrl(currentItem.id)" frameborder="0" allowfullscreen></iframe>

在我定义的组件中:

代码语言:javascript
复制
getYouTubeUrl(id:string):SafeResourceUrl {
   let url:string = `https://www.youtube.com/embed/${id}`;
   return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}

不知怎么的,这个函数被无限调用(当得到的url不变的时候)。结果是无法加载视频。这里会有什么问题呢?

EN

回答 1

Stack Overflow用户

发布于 2016-10-03 22:21:02

Angulars变更检测在每次运行变更检测时都会调用该方法,这通常是相当频繁的。这就是不鼓励绑定到函数或方法的原因。

相反,将函数或方法的结果分配给属性,并从视图绑定到此属性。

代码语言:javascript
复制
<iframe [src]="youTubeUrl" frameborder="0" allowfullscreen></iframe>
代码语言:javascript
复制
ngOnInit() {
  this.youTubeUrl = getYouTubeUrl(this.currentItem.id);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39833734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档