2017-02-03 7 views
1

ディレクティブではない場合、角度2で(クリック)とは何ですか?それが書かれている角度2のドキュメントで

我々はこのような結合の単純な を書くことができたときになぜクリックを処理するためのディレクティブを作成しますか? <button (click)="onSave()">Save</button>

これはディレクティブでない場合は、それは何ですか?彼らはそれを「単純な束縛」と呼びますが、これは指令とどのように違うのですか? Angularが扱うものはまだまだ特別ですが、Angular 1のようにng-clickの代わりに(click)というのはなぜ誇りに思うのですか?

答えて

6

それは括弧(event)構文は、開発者がディレクティブを記述することなく、DOMイベントを使用することができますディレクティブが、binding syntaxではありませんというのが私の理解です。一方、ng-clickは、もちろんディレクティブです。

この新しいバインディング構文では、DOMイベントを利用するためのディレクティブをコーディングする必要はありません。 がたくさんあります。DOM eventsです。したがって、すべてのディレクティブを維持する必要はありません。そして誇りに思うもの、IMO。

私はこれがあなたを助けてくれることを願っています。

0

私が理解しているように、バインディングのルールはAngular(2)がクリックについての明示的なことさえ知りません。ランタイムは「クリック」という名前の他のもの(ディレクティブ、コンポーネント)を見つけることができないので、DOMクリックプロパティを追加するだけです。それは(クリック)でクリックではないので、それをonclickとして追加してから、あなたのブラウザは何をするべきかを知っています。

AngularJS(1.x)から来ているので、私はAPIの参照でどのようなDOMのエイリアスを見つけようとしていたからです(クリックのように)。そして、私が注意深くこれを読んだときにDOMを別の指示文でエイリアスする必要はないことに気付きました。https://angular.io/docs/ts/latest/guide/template-syntax.html

私はボートを完全に紛失しています。

関連する問題