Angular-styleguide: bindToControllerとスコープ角度v1.4

作成日 2015年06月27日  ·  9コメント  ·  ソース: johnpapa/angular-styleguide

Angular v1.4以降、ディレクティブでこれを行うことができます。

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

なぜ「古い」スタイルの代わりにそれを使用するのですか?

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

私が得た唯一の答えは、直感的で、同意しますが、それだけですか?
そして、ベストプラクティスは何でしょうか(angular2も念頭に置いて)?

Angular 1 enhancement help wanted

全てのコメント9件

これにより、特定のスコープをコントローラーにバインドしながら、他のスコープを分離することができます。 言い換えれば、それはもはや「オール・オア・ナッシング」ではありません。 制御する必要のある値を選択できます。

[編集]この記事の最後には、コードスニペットを含むより詳細な説明があります。

@ 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をしたいですか?

このページは役に立ちましたか?
0 / 5 - 0 評価