指令からAngular2のコンポーネントのInputにどのように登録できますか?指令からAngular2コンポーネントにデータを送信
具体的には、私はすでにthis solutionについて知っていますが、私は親の封筒なしでこれをしたいと思います。
私はAngular2サイトからこのスニペットコードを持って、私はそれがコンポーネントにデータを送信するために動作させることはできません。
// Directive
import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';
@Directive({ selector: '[dirTest]' })
export class dirTestDirective {
@Output() refresh = new EventEmitter<number>();
constructor(private element: ElementRef) {
setInterval(() => {
this.refresh.emit(Math.random());
}, 1000);
}
}
// Component
import {
Input,
Output,
Component,
OnChanges,
SimpleChanges,
} from '@angular/core';
@Component({
selector: 'simple',
template: '<div></div>',
})
export class SimpleComponent implements OnChanges {
@Input() refresh: number;
// This never gets triggered
ngOnChanges(changes: SimpleChanges) {
console.log(changes);
}
}
<!-- Get this together -->
<simple dirTest></simple>
input
が良いと思う。
もっと良い解決策があれば教えてください。
http://plnkr.co/edit/FZsIfLfvtf3EjkGGGBlC
を見ますコンソールログ? – happyZZR1400
いいえ、私はバインドされることはありません。私はコールバックを外部に定義し、 'Simple'コンポーネントに設定して' Directive'からデータを送り、 'Simple'入力に送ることを知っていますが、 'dirTest'から直接入力します。 – PRAISER