2016-07-25 7 views
1

角度2が新しく、ディレクティブが機能しない理由がわかりません。ここでディレクティブでブール比較で角度2が発生する

は私のディレクティブです:

import {Observable} from 'rxjs/Rx'; 

declare var jQuery: any; 

@Directive({ 
    selector: '[j-slider]', 
}) 
export class JSliderDirective { 
elRef: ElementRef; 

    constructor(elRef: ElementRef) { 
    this.elRef = elRef; 
    } 

    @Input('j-slider') last: boolean; 

ngOnInit() { 
    console.log(this.last); 
    if (this.last == true) 
    console.log('pass'); 
    } 

} 

私のHTML:

<div class="shopping-slider"> 
    <div class="shopping-slide" *ngFor='let product of products; let last = last' j-slider="{{last ? true: false}}"> 
     <img src="{{product.img}}" alt="{{product.name}}"/> 
     <p class="shopping-label">{{product.name}}</p> 
    </div> 
</div> 

だから私は、繰り返しが終了した後に私のINITステートメントを実行します。 if文の前に 'this.last'を記録すると、それは私に正しい結果である最後の繰り返しのために偽を返します。しかし、私のif文は失敗しています...なぜですか?私は間違って何をしていますか?それとももっと良い方法がありますか?

ありがとうございます!

答えて

1

自分自身に大きな恩恵をもたらし、角度2 [bind]構文を使用してください!

は今{{}}が暗黙的に文字列としてtruefalseを渡し、そして"true" != trueされる中括弧を使用して。良くない。

<div class="shopping-slide" *ngFor='let product of products; let last = last' [j-slider]="last"> 

とヴィオラ:

単にそのようj-slider属性を包みます!

+0

ああ。私は気が気になりません。あなたが素晴らしいです!ありがとうございました。 –

関連する問題