1

動的にアクセスしようとしているスコープ配列変数があります。その値はすでに設定されています。

こんな感じです。

$scope.setp = { arr: [] };
$scope.setp.arr[0] = "sample Value";

以下のように動的にアクセスしようとすると、未定義になります。

console.log($scope['setp.arr[0]']);

ただし、次を使用して直接アクセスできます。

console.log($scope.setp.arr[0]);

スコープ変数の値を動的に取得する方法は、他の方法では問題なく機能しますが、変数名に角かっこ、つまり [ ] が含まれている場合は失敗します。

この例に従いましたが、配列または角括弧 [ ] を含むスコープ変数では成功しませんでした。

$parse サービスを使用したスコープ配列変数の動的設定も、以下のように正常に機能します。

var scopeVariable = $parse('setp.arr[0]');
scopeVariable.assign($scope, "new Value");
4

1 に答える 1