typescript 使用输出订阅组件事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 使用输出订阅组件事件相关的知识,希望对你有一定的参考价值。
import {Component} from '@angular2/core';
import {ChildComponent} from './child.component';
@Component({
selector:'parent-app',
template:`
<div style="border:2px solid orange; padding:5px;">
<h1>Parent Component: {{parent}}</h1>
<child-app (changed)=changed($event)></child-app>
</div>
`,
directives:[ChildComponent]
})
export class AppComponent{
changed(changedCharacter:any){
if(changedCharacter){
this.parent = changedCharacter.name;
}
}
}
<parent-app>
loading...
</parent-app>
import {Component, EventEmitter, Output} from '@angular2/core';
import{ Character } from './character';
@Component({
selector:'child-app',
template:`
<div style = "border:2px solid orange; padding:5px;">
<h1>Child Component</h1>
<input [(ngModel)]="characters[0].name">
<button (click)="select(characters[0])">Output</button>
</div>
`,
outputs : ['changed']
})
export class ChildComponent implements OnInit{
public changed = new EventEmitter<Character>();
characters = [
{
"id":11,
"name":"Nisar"
}
];
selectedCharacter : Character;
select(selectedCharacter: Character){
this.changed.emit(selectedCharacter);
}
}
export class Character{
constructor(public id:number,public name:string){}
}
以上是关于typescript 使用输出订阅组件事件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Typescript 在服务中链接 observable 并最终在组件中订阅
typescript 订阅路由器更改事件,并在每次更改时向Google Analytics发送当前网址的网页浏览事件
ReactiveX JS 和 TypeScript - 如何取消订阅?
Vue组件间通信 全局事件总线订阅与发布
react使用pubsub事件订阅,组件间通信
typescript 组件交互:父组件监听子组件事件