2017-05-02 25 views
0

スコープ変数の作成に疑問があります。スコープ変数を作成して使用する最良の方法とその理由angularjsでスコープ変数を作成する

$scope.name1 = ""; 
$scope.name2 = ""; 
$scope.name3 = ""; 

または

$scope.name = {name1: "", name2: "", name3: ""}; 

Iメモリとパフォーマンスと比較して答えを持ちます。

+3

私はあなたを保証することができますが、これはアプリケーションのパフォーマンスのボトルネックになることはありません。途中で最適化しないでください - コードの可読性の見地からより意味のあるものを選んでください。 –

+0

両方のメソッドにどのようにメモリを割り当てるか説明できますか? – Rishi

+0

使用中のJS仮想マシンに依存します。私は2番目の例がおそらくオブジェクト階層に余分なレベルがあるのを見て、小さな(と私は*小さな*)ビットのメモリを使用するだろうと思いますが、私は確かに分かりません。しかし、もう一度 - それは本当に重要ではありません - この小さなものがアプリケーションのパフォーマンスに目立った違いを生じさせないため、どちらのメモリをより効率的に使うかのフレッチングは時間の無駄ですエネルギー。 –

答えて

0

どちらの方法でもアプリケーションのパフォーマンスに問題はありません。それはあなたの必要に応じて実装する必要があるものによって異なります。

あなたがデータをバインドしているとき、そのいつも私がControllerAS構文を試してみてください...あなたに異なるapprochを示唆して宣言したオブジェクトとプロパティ

$scope.names = {name1: "", name2: "", name3: ""}; 
+0

で、両方の方法でメモリがどのように割り当てられるかを説明できます。 – Rishi

0

を割り当てるためにオブジェクトを使用することが常により良いですが。 。

HTML::

<div data-ng-controller="MyController as my"> my.names.name1 </div> 

JS:

0のようなので、何か
+0

あなたは私にそれを打つ。 – cst1992

+0

: - )....申し訳ありませんが...私はあなたが答えている間に印刷していた –

0

どちらも、代わりにコントローラ変数を使用します。

var vm = this; 
vm.name = {...}; 

これはあなたのデータおよびあなたの$scope別々に維持されます。

0

それはあなたが達成しようとしているかに依存していますが、あなたのアプリにnamesを反復する必要がある場合は、アレイの使用について考える:それはそれではない公演について

$scope.names = ['Rob', 'Ned', 'Jon']; 

を、しかし、あなたがしますあなたの配列にngRepeatを使用することができます。

関連する問題