我有一个范围数组变量,我试图动态访问它。它的值已经设置好了。
就像这样。
$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");