在AngularJS应用中,我有一个存储在data
$http
中的对象,看起来像这样:
[{"var1":"1","var2":"2","var3":"3"}]
我希望能够获得"var2"
的价值。
我认为这很容易:
$scope.myObj = data;
$scope.myVar = $scope.myObj.var2; //$scope.myvar should "2"
相反,$ scope.myObj返回undefined
如何访问var2的值?
答案 0 :(得分:1)
在您的情况下,数据看起来像是一个数组。如果它总是大小为-1数组,那就做:
$scope.myObj = data[0]; //Add any necessary null checks
如果数组大小为>则通过循环遍历数组来相应地修改逻辑。 1。
angular.isObject()
返回true,因为array也是一个对象。
您可以在检查angular.isArray(obj)
之前使用isObject
,以确保按原样过滤掉数组。如果你得到混合数据,有时候是对象,有时你也可以做同样对象的大小为1的数组: - $scope.myObj = [].concat(data)[0]
。