尽管它看起来很简单,但它可以通过使用子组件和输入,输出变量来实现。
子组件,用于显示从服务内容
@Component({
selector: 'title',
template: `
<div> {{title}}</div>
`,
})
export class TitleComponent implements ngOnChanges{
@Input() title:string="";
@Output() titleChanged:EventEmitter<string>=new EventEmitter<string>();
constructor(){
//service call goes here
}
ngOnChanges(){
console.log(this.val);
this.titleChanged.emit(this.title);
}
}
父组件将作为
@Component({
selector: 'my-app',
template: `
<div>
<h2>Hello {{name}}</h2>
<title (titleChanged)="changedTitle($event)" [title]="title"></title>
</div>
`,
})
export class App {
name:string;
title:string="some title";
val:string;
constructor() {
this.val="";
}
changedTitle(va){
console.log(va);
}
}
说明:
- 当服务呼叫提出,而标题值变改变。
- 在更改输入属性时,ngOnChanges将自动触发。
- The titleChanged是Output()变量,并在执行ngOnChanges时发出一个值。
- 当titleChanged被触发时,将会执行changedTitle()中的关联方法。
LIVE DEMO
注:为了显示这个工作我已经使用了文本框,并将其分配给div元素。
**你的意思是**内容改变**? – Aravind
在服务器的某些服务调用期间,“#myDiv”的内容会发生变化。 –
你在那里使用ngmodel吗? – Aravind