最新のAngular 2 beta(45?)を使用していて、ディレクティブセレクタによって識別される要素にngClassをアタッチしようとしています。クラスを切り替えるために使用される変数は更新されません。Angular2 - ngclass onディレクティブセレクタ
私はそれが二つのものの一つだ疑い:
- Angular2はちょうどそのように動作していないので、スコープの問題です。もし私が ディレクティブセレクタ要素の中にdivを入れて、そのdivに ngClassを添付すれば、それは動作します。私はそれをしないことを好むだろう。
- 私はウィンドウイベントに反応しています。 Observers、 のsetTimeoutハッカーとゾーンを使ってみました。運がない。
私は何をしようとしていますか?もうそれはもうやっていないのですか?
私は現在、それへのアクセスを持っていないので、メモリから書かれたサンプルコード:
@Directive({
selector: "nav",
templateUrl: "templates/nav.html"
});
export class NavComponent {
isOpen:Boolean = false;
onScroll(e) {
this.isOpen = true;
}
window.onscroll = (e) => this.onScroll.call(this); // .call seemed necessary, because otherwise the scope of 'this' changed to window instead of the directive
}
次は動作しません:
index.htmlを
<nav [ngClass]="{open: isOpen}"></nav>
テンプレート/ nav.html
<a href="#">whatever</a>
...
<a href="#">whatever 2</a>
次の作業を行います。
index.htmlを
<nav></nav>
テンプレート/ nav.html
<div [ngClass]="{open: isOpen}">
<a href="#">whatever</a>
...
<a href="#">whatever 2</a>
</div>
'私は笑いのために、最新の角度2ベータ(45?)' upvoteを使用しています。 –
私は正しいことを知っています。0と1000の間のどこか。 – oooyaya