1. ホーム
  2. ジャバスクリプト

[解決済み】angularJSの&と@と=の違いは何ですか?

2022-04-03 02:15:31

質問

私はAngularJSの初心者です。誰かこれらのAngularJSのオペレータの違いを教えてください。 &, @ and = スコープを分離する際に、適切な例で説明します。

どのように解決するのですか?

@ は、ディレクティブの属性で定義された値を、ディレクティブのアイソレートスコープに渡すことができるようにします。この値は単純な文字列の値 ( myattr="hello" ) または、式を埋め込んだAngularJS補間文字列 ( myattr="my_{{helloText}}" ). これは、親スコープから子ディレクティブへの「一方通行」のコミュニケーションだと考えてください。 John Lindquistは、これらのそれぞれを説明する一連の短いスクリーンキャストを用意しています。 に関するスクリーンキャストはこちらです。 https://egghead.io/lessons/angularjs-isolate-scope-attribute-binding

& を使うと、ディレクティブの孤立したスコープが、属性で定義された式で評価するために、親スコープに値を渡すことができるようになります。ディレクティブ属性は暗黙のうちに式であり、二重中括弧の式構文を使用しないことに注意してください。これは文章で説明するのは難しいですね。&に関するスクリーンキャストはこちらです。 https://egghead.io/lessons/angularjs-isolate-scope-expression-binding

= は、ディレクティブの isolate スコープと親スコープの間で双方向のバインド式を設定します。子スコープでの変更は親スコープに伝搬され、その逆もまた然りです。は、@と&を組み合わせたものと考えてください。に関するスクリーンキャストはこちらです。 https://egghead.io/lessons/angularjs-isolate-scope-two-way-binding

そして最後に、この3つを1つのビューで一緒に使用したスクリーンキャストをご紹介します。 https://egghead.io/lessons/angularjs-isolate-scope-review