web-dev-qa-db-ja.com

Angularディレクティブ:スコープとbindToController

Angular v1.4なので、これを行うことができます:

scope: {},
bindToController: {
    name: "="
}

古いやり方の代わりに:

scope: {
    name: "="
},
bindToController: true

より直感的であることを除いて、それらの間に何か違いはありますか?

12
Ahmet Cetin

BindToControllerをAngularの将来のバージョンの移行パスと考えてください。

分離されたスコープでディレクティブ(またはコンポーネント)を記述し、渡したいプロパティをコントローラーにバインドすることをお勧めします。

スコープからのバインド変数は徐々に消えます。

angular(1.5)の新しいリリースでは、スコープはデフォルトで分離されており、変数をコントローラーにバインドできるため、スコープやbindToControllerを使用する必要はありません。

これは、$ scopeの使用を防ぐのにも役立ちます。詳細については、この記事をお読みください: https://toddmotto.com/no-scope-soup-bind-to-controller-angularjs/

8
eliagentili