2017-02-03 49 views
4

從'@ angular/core'導入{Component};Angular2中的iframe

@Component({ 
    selector: 'my-app', 
    template: `<h1>Hello {{name}}</h1> 
<iframe src="http://hssa:1021/Home?testRequestId=+[testRequestId]+" allowfullscreen></iframe>`, 
}) 
export class AppComponent { 
    name = 'Angular'; 
    testRequestId = '3224'; 

} 

我有我的.ts文件,如上所述。如何將testRequestId傳遞給html。

+0

的可能的複製[如何設置角2 IFRAME SRC而不引起\'不安全值\'例外?](http://stackoverflow.com/questions/38037760/how-to-set-iframe- src-in-angular-2-without-cause-unsafe-value-exception) – vinagreti

回答

8

試試這個:

Online demo

安全管

import { Pipe, PipeTransform } from '@angular/core'; 
import { DomSanitizer} from '@angular/platform-browser'; 

@Pipe({ name: 'safe' }) 
export class SafePipe implements PipeTransform { 
    constructor(private sanitizer: DomSanitizer) {} 
    transform(url: string) { 
    return this.sanitizer.bypassSecurityTrustResourceUrl(url); 
    } 
} 

AppComponent

import {Component} from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    template: ` 
    <iframe [src]="'https://www.youtube.com/embed/' + testRequestId | safe" width="560" height="315" allowfullscreen></iframe> 
    ` 
}) 
export class AppComponent { 
    testRequestId: string = 'uelHwf8o7_U'; 

} 

因爲角不信任任何來源,它會清理內容,然後我們需要繞過它。

瞭解更多關於這個話題:https://angular.io/docs/ts/latest/guide/security.html

Template syntax

+0

如果我按照上面提到的那樣進行更改,它會給出調試的URL,例如hssa:1021/Home?testRequestId =,這不會起作用。 testRequestId在這裏是空的。 – test

+0

結帳我更新後的文章 –

+0

我這樣做,我得到這個錯誤。 – test

1

只要改變+[testRequestId]+{{testRequestId}}

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'my-app', 
    template: `<h1>Hello {{name}}</h1> 
<iframe src="http://hssa:1021/Home?testRequestId={{testRequestId}}" allowfullscreen></iframe>`, 
}) 
export class AppComponent { 
    name = 'Angular'; 
    testRequestId = '3224'; 
} 
+0

如果我像上面提到的那樣更改,它會提供調試的URL,例如http:// hssa:1021/Home?testRequestId = {{testRequestId}},這不會起作用。 – test

+1

你可以在這裏看到http://stackoverflow.com/questions/38037760/how-to-set-iframe-src-in-angular-2-without-causing-unsafe-value-exception – vinagreti