它给了我错误GET http://localhost:8100/null 404 (Not Found)
我尝试了多种DomSanitizer方法,但由于某些原因它们都没有用。
我的控制器功能是
import { DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';
constructor(public navCtrl: NavController, public navParams: NavParams, public loadingCtrl: LoadingController,
private sanitizer: DomSanitizer) {}
ionViewWillEnter() {
let link = this.navParams.get('link'); // gets the link to be sanitized
console.log(link); //works
let url1 = this.sanitizer.bypassSecurityTrustResourceUrl(link);
console.log(url1); //works
}
我的iframe代码是
<iframe [src]="url1" height="100%" width="100%"
frameborder="0">
</iframe>
我的设置 - 离子3.20.0 npm 5.5.0
答案 0 :(得分:0)
您是否尝试过更改生命周期?也许您的观点为null
获得了undefined
或url1
。当我在构造函数中初始化或甚至在ionViewDidLoad()
方法
答案 1 :(得分:0)
您的“ url1”未声明为公开。在这种情况下,html模板将无法提取它。
尝试这种方式。
public url1: any;
...
constructor(...)
...
ionViewWillEnter(){
...
this.url1=this.sanitizer.bypassSecurityTrustResourceUrl(link);
}
答案 2 :(得分:0)
将url变量声明为“ TrustResourceUrl”类型