明示的に配列要素を値ではなく参照として設定する方法はありますか?例えばJavascript配列要素を参照または値で割り当てる
は、この方法は、値によって配列要素を設定:
METHOD 1
var pushes = [2,1]
for(var i=0; i<pushes.length; i++)
{
vm.allEmployeesOnJob[i] = vm.allEmployees[pushes[i]];
}
そしてこの方法は、参照することにより、配列要素を設定:
METHOD 2
var pushes = [2,1]
vm.allEmployeesOnJob = [
vm.allEmployees[2],
vm.allEmployees[1]
];
私のユースケース:
私は角-ブートストラップ・duallistboxを使用していますが、正しく2つのリストボックスを初期化するために、「NG-モデル」配列は、参照することにより、「NG-オプション」配列要素を参照する必要があります。これは、私が読んだ説明から、 "select" DOM要素の振る舞いが原因です。リストボックスがそのメソッドを使用して正しく更新され、最初のメソッドを使用して正しく更新されないため、2番目が参照によって設定されていることがわかります。
違いは何ですか?
また、配列要素を別の配列の要素にプログラムで設定する方法はありますか?
EDIT:
vm.allEmployees従業員オブジェクトの配列です。 vm.allEmployeesの
コンテンツ:JavaScriptオブジェクトで
[ {
"employeeId":1,
"firstName":"Bill",
"lastName":"Test",
"email":null,
"phoneNumber":null,
"street":"1234 Sesame",
"city":"New York City",
"state":"New York",
"zip":"34555",
"activeFlag":true,
"homeLocationId":2,
"homeLocation":{
"locationId":2,
"customerId":2,
},
"displayName":"Bill Test - Newaygo" },
{
"employeeId":2,
"firstName":"Bob",
"lastName":"Test",
"email":null,
"phoneNumber":null,
"street":"1234 Sesame",
"city":"New York City",
"state":"New York",
"zip":"34555",
"activeFlag":true,
"homeLocationId":2,
"homeLocation":{
"locationId":2,
"customerId":2,
},
"displayName":"Bob Test - Newaygo" },
{
"employeeId":4,
"firstName":"John",
"lastName":"Doe",
"email":"[email protected]",
"street":"1234 Sesame St",
"city":"New York City",
"state":"New York",
"zip":"34555",
"activeFlag":true,
"homeLocationId":2,
"homeLocation":{
"locationId":2,
"customerId":2,
},
"displayName":"John Doe - Newaygo" },
{
"employeeId":5,
"firstName":"Bill",
"lastName":"Peterson",
"email":"[email protected]",
"street":"1234 test",
"city":"test city",
"state":"Maine",
"zip":"298379283",
"activeFlag":false,
"homeLocationId":2,
"homeLocation":{
"locationId":2,
"customerId":2,
},
"displayName":"Bill Peterson - Newaygo" },
{
"employeeId":6,
"firstName":"Jim",
"lastName":"Super",
"email":"[email protected]",
"phoneNumber":"459-456-4455",
"street":"1234 Sesame St",
"city":"New York City",
"state":"New York",
"zip":"34555",
"activeFlag":true,
"homeLocationId":2,
"homeLocation":{
"locationId":2,
"customerId":2,
},
"displayName":"Jim Super - Newaygo" } ]
これは、とはほとんどを持っていますJavaScriptそのものですが、AngularJSの「ng-model」がその価値をどのように見ているかに関連しています。 AngularJSの使用をより明確に示すために、あなたの質問とタイトルを[編集]することをお勧めします。両方の選択に対して 'ng-model'と' ng-options'をどのようにバインドしているかを示すこともできます。 –
角度部分の良い点@MikeMcCaughan。しかし、質問のjavascriptの部分は私の質問の大きな懸念でした。下のスコットの答えはその質問に答えたので、私はそれを得ることができない場合、私は別のポストのためにこの質問の角の部分を残すかもしれないと思う。 –