【问题标题】:Angular2: How to change iFrame src?Angular2:如何更改 iFrame src?
【发布时间】:2017-02-13 20:47:19
【问题描述】:

我是 Angular2 的新手,并试图通过单击按钮更改 iframe 的 url。通过了safe urlsetting the src for iframe 等几个障碍。想不出一个好方法来改变点击按钮/链接的 url。
如何根据按钮 id 更改 iFrame url?
HTML

<button md-button (click)="updateSrc($event)"  id="first" class="top-link">First</button>
  <button md-button  (click)="updateSrc($event)" id="second" class="top-link">Second</button>

<iframe id="frame" frameborder="0" [src]="changeUrl()"></iframe>

组件

private first_url = "some url";
private second_url = "some other url":

updateSrs(event) {
    console.log('Here');
    console.log(event.currentTarget.id);
    this.reportUrl();
  }
;
  changeUrl() {
    return this.sanitizer.bypassSecurityTrustResourceUrl(this.first_url);
  }

【问题讨论】:

    标签: javascript angular iframe


    【解决方案1】:

    无需处理事件,因为您可以从模板访问组件属性...

    模板:

    <button md-button (click)="updateSrc(first_url)"  id="first" class="top-link">First</button>
    <button md-button  (click)="updateSrc(second_url)" id="second" class="top-link">Second</button>
    
    <iframe id="frame" frameborder="0" [src]="current_url"></iframe>
    

    ts :

    first_url = "some url";
    second_url = "some other url":
    current_url: SafeUrl;
    
    
    updateSrc(url) {
        this.current_url=this.sanitizer.bypassSecurityTrustResourceUrl(url)
      }
    

    【讨论】:

    • 我还需要打电话给this.reportUrl()吗?我没有在模板的任何地方使用它。
    • 你把它放在你的代码中,我认为这是一个副作用,但这个代码不需要它,确实......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 2017-01-17
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多