2017-07-29 5 views
0
import { Component, Input, Output, EventEmitter } from '@angular/core'; 

var colorPickerCss = "app/css/ui/color-picker.css"; 
var colorPickerTemplate = "app/partials/color-picker.html"; 

@Component({ 
    selector: 'color-picker', 
    styleUrls: [colorPickerCss], 
    templateUrl: colorPickerTemplate 

}) 
export class ColorPicker{ 
    @Input() colors: string[] = []; 
    @Output() selectedColor = new EventEmitter(); 
    isSelectorVisible : boolean = false; 

    showSelector(value: boolean){ 
     this.isSelectorVisible = value; 
    } 
    selectColor(color: string){ 
     this.showSelector(false); 
     this.selectedColor.next({color}); 
    } 


} ; 

私は上記のコードを書いていますが、その機能を理解したいと思います。私の質問は、この行の.next()関数は何ですか。this.selectedColor.next({color})。どのライブラリですか?私は上記の輸入について言及しましたが、私は実際にこの機能の実際の定義に到達することはできません。角での.next()関数の説明

+2

次は廃止予定です - [この質問](https://stackoverflow.com/questions/35840576/difference-between-eventemitter-next-and-eventemitter-emit-in-angular-2)およびその回答[このリソース](https://github.com/angular/angular/blob/b5b6ece65a96f5b8f134ad4899b56bf84afe3ba0/modules/angular2/src/facade/async.dart#L49)が理解に役立つ場合は – 0mpurdy

答えて

1

EventEmitterは、件名を拡張します。あなたがnextを使うと、すべての加入者が聞いてくれるイベントを起動します。 hereを参照してください。 emitが好ましい選択肢です。

関連する問題