2017-06-19 9 views
3

このアトリビュート・ディレクティブをAngular 2でどのようにテストできますか?私はいくつかの例を探していますが、私はそれを見つけませんでした。誰かが私を見せたり、私にそれをする方法を示す例があれば、それは私を助けるだろう。属性アトリビュートのテスト

import { Directive, SimpleChanges, Input, OnChanges, ElementRef, Renderer} from '@angular/core'; 

@Directive({ 
    selector: '[highlightData]' 
}) 
export class HighlightDataDirective implements OnChanges { 
    private _highlightData: string; 

    @Input() set highlightData(value: string) { 
    const prev = this._highlightData; 
    this._highlightData = value; 
    const cur = value; 
    } 

    constructor(private _elementRef: ElementRef, private _render: Renderer) { 

    } 

    ngOnChanges(changes: SimpleChanges) { 
    if (changes['highlightData'] && !changes['highlightData'].isFirstChange()) { 
     const prev: string = changes['highlightData'].previousValue; 
     const cur: string = changes['highlightData'].currentValue; 

     if (cur !== prev) { 
     this._render.setElementClass(this._elementRef.nativeElement, 'animate', true); 

     setTimeout(() => { 
      this._render.setElementClass(this._elementRef.nativeElement, 'animate', false); 
     }, 3000); 
     } 
    } 
    } 

} 

ありがとうございました。

答えて

3

テンプレートにディレクティブを使用するホストコンポーネントを作成する必要があります。そのようなものは動作します:

関連する問題