Angular v1.4以降、ディレクティブでこれを行うことができます。
scope: {},
bindToController: {
name: "="
}
なぜ「古い」スタイルの代わりにそれを使用するのですか?
scope: {
name: "="
},
bindToController: true
私が得た唯一の答えは、直感的で、同意しますが、それだけですか?
そして、ベストプラクティスは何でしょうか(angular2も念頭に置いて)?
これにより、特定のスコープをコントローラーにバインドしながら、他のスコープを分離することができます。 言い換えれば、それはもはや「オール・オア・ナッシング」ではありません。 制御する必要のある値を選択できます。
[編集]この記事の最後には、コードスニペットを含むより詳細な説明があります。
@ ledge23が参照している
はい、これは主に、どのプロパティ名がディレクティブコントローラーに流れるか( bindToController
引数で)、どのプロパティ名が分離されたスコープを流れるか( scope
)を明示するため、より直感的な方法です。プロパティ...これは、この例では「なし」と言います)。
@ ledge23が言及した機能( bindToController
引数内)とscope
にバインドするかどうかはわかりません。 scope
); それは私にはあまりにも混乱しています。
パスカルが終わるところが好きです。 分離されたスコープが必要で、すべてのバインディングがコントローラーに直接渡される場合、私は好きです
app.directive('someDirective', function () {
return {
scope: true
bindToController: {
someObject: '=',
someString: '@',
someExpr: '&'
},
...
};
});
この議論の何もAngular2に関係しているとは思いません。たぶん誰かが関係しています。
この議論は終わったようですが、蘇生したいと思います。
私はこの構文を好みます:
scope: {},
bindToController: {
name: "="
}
これに:
scope: {
name: "="
},
bindToController: true
これはもう少し直感的で、 TeroParviainenによる「RefactoringToComponents」トークで提案されている
このスタイルの推奨事項を使用するように推奨事項を更新する可能性はありますか? サポートがあればPRを作成できてうれしいです。
scope: true
例の@wardbellは、実際には分離されたスコープを作成していscope: true
。 これは、親からプロトタイプ的に継承する新しい_child_スコープを作成しているだけです。
_isolated_スコープを作成するには、 scope: {}
が必要です。
このgithub / angularの問題を介したこれに関するより多くの会話: https :
Angular 1.5には、より簡潔な要素ディレクティブ定義を可能にする新しい.component()
ヘルパーメソッドがあるようです。
https://github.com/angular/angular.js/commit/54e816552f20e198e14f849cdb2379fed8570c1a
これは私の意見を変えます。 私は今、スタイルガイドは1.5が落ちるまでそのままにしておくべきだと思います。それよりも、1.5の人々の良い代替手段として.component()
を含めるべきです。
@zachlysobey同意します!
@すべての情報に感謝します!
@zachlysobeyは、1.4が
bindToControllerのようなもののために1.4でいくつかのPRを持っているのはクールです
誰かがPRをしたいですか?