2017-01-24 2 views
3

私はコンポーネントを持っていて、それにいくつかの変数をバインドしています - ユニと双方向フローのユースケースを無視しています。 =または<どちらのAngular 1.5コンポーネントバインディングタイプがより高価ですか? '='または '<'?

最初は<ですが、変更を上向きに伝播する必要はないので安くなりますが、コピーを必要としていると確信していますが、=は参照を通過するので最も有益でしょうか?

または、これはちょうど$onChangesの必要性に関連していますか?

+1

(もちろん、それ内の機能を通過しない)「=」使用「=」を安価であるあなたは何を知っていれば、「<」をより透明である –

+0

だから、あなたは言うでしょう'='を使用していますか? –

+0

_ "必要なコピーを検討する" _どのコピー? – zeroflagL

答えて

1
  1. は「=」もちろん、それは最も安いと最も簡単な方法である、リンクを渡します。 (つまり、Javaでは常にリンクを渡します)

  2. 問題は、このオブジェクトまたはそのプロパティを変更できないため、インターフェイスやsmthを作成できないことです。階層を想像してみてください:<component-a object="object"><component-b object="object"><component-c object="object">

    ここでは、誰が自分の財産を設定したり使用しているのかを理解したいと思います。

  3. 私は今気付いています: - 単純なオブジェクトの場合は、 '<'を使用して、onChangesを使用できます。 -for大きなは、複雑なオブジェクトが

+0

面白い。あなたはconstを使ってes6で変更不可能になり、typescriptとのインターフェイスさえも実現できます! –

+0

'='と '<'の唯一の違いは、 '<'は変更を上向きに伝播しないことです。 – zeroflagL

+1

が間違っている:http://plnkr.co/edit/vsFh3icprGZlxrJomfmS?p=preview onChangesは '='バインディング –

3

私の考えでは、ストレージは処理能力よりも安価なので、オブジェクトのコピーは、オブジェクトのプロパティ、ダイジェストサイクルごとに別の時計よりも安いです。

+1

それは別の時計でしょうか?それぞれのケースが基準を見ているが、異なるスコープで見ているのは本当ですか? (そして私は深い不動産を変更することは依然として親に反映されると思うが、それは検出されるだろう) –

関連する問題