我正在创建一个Ionic2应用程序。我有一个组件,我想将外部templateUrl加载到e.x(http:www.example.com/test-view.html)。
如何将该html加载到@Component中的templateUrl变量中?
这是我到目前为止所拥有的。
import { Component, DynamicComponentLoader, ViewContainerRef,
ViewChild } from '@angular/core';
import { bootstrap } from '@angular/platform-browser-dynamic';
import { Http, Headers, RequestOptions } from '@angular/http';
@Component({
//templateUrl: 'build/pages/hello-ionic/hello-ionic.html'
template: `<div [innerHTML]="myVal"></div>`,
selector: 'HelloIonicPage'
})
export class HelloIonicPage {
myVal: any;
viewLink: any;
viewHtml: any;
constructor(private http: Http) {
let headers = new Headers({ 'Content-Type': 'text/html' });
let options = new RequestOptions({ headers: headers });
this.viewHtml = this.http.get('http://example.net//test-view1.html');
this.myVal = this.viewLink
console.log(this.myVal);
}
}
答案 0 :(得分:3)
你可以这样做:
this.http
.get('http://example.net//test-view1.html')
.map(response => response.text())
.subscribe(html => myVal = html);
请注意,html会被清理,所以如果你需要一些奇特的东西,你将不得不使用DomSanitizationService。不要忘记文档中的安全风险标志(;