你可以使用compoenent作为上面提到的答案。 但是对于这种类型的任务,我总是选择指令。您也可以创建一个指令,它将采用一个参数并执行这些操作。
通过这种方式,您不必创建标签,但是可以在任何标签中应用您的指令。
@Directive({
selector: '[comp]',
})
export class compDorective implements OnInit {
@Input() url: string;
constructor(private http:Http, private elementRef: ElementRef) {
}
ngOnInit(changes) {
this.http.get(this.url)
.map(res => res.json())
.subscribe(val => this.elementRef.nativeElement.innerHtml = val);
}
}
你可以申请该指令的任何元素这样
<div comp [url]="www.aaaa.com/movies?type=new"></div>
<span comp [url]="www.aaaa.com/movies?type=old"></span>
这对每个组件的工作? –
不确定你的意思是“每个组件”。您可以根据需要添加尽可能多的该组件实例。这些实例独立工作。你需要在某处添加'HTTP_PROVIDERS'(例如在你的Angular应用程序的根组件中。@Component({...,providers:[HTTP_PROVIDERS],...})' –