私はAngular 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' をログに記録すると、false が返され、最後の繰り返しで true になります。これは正しいです。ただし、if ステートメントが失敗しています...なぜですか? 私は何を間違っていますか?または、これを行うより良い方法はありますか?
ありがとう!