[英]Angular js $watch on multidimensional array?
你好,下面的朋友是我的阵列。
data.php文件
$array = array(
'0' => array(
'id' = 1,
'name' = 'test',
'key' = array(
'0' = 'key1',
'1' = 'key2',
'2' = 'key3'
)
),
'1' => array(
'id' = 3,
'name' = 'test3',
'key' = array(
'0' = 'key7',
'1' = 'key8',
'2' = 'key9'
)
),
'2' => array(
'id' = 15,
'name' = 'test30',
'key' = array(
'0' = 'key4',
'1' = 'key5',
'2' = 'key6'
)
)
);
echo json_encode($array);
以下是我的js代码。
$http({method: 'GET', url: $rootScope.serverURL+'data.php'}).
success(function (data, status, headers, config) {
$rootScope.simpleData = data;
}).
error(function (data, status, headers, config) {
});
$scope.$watch('page + numPage + simpleData', function() {
console.log('working');
},true);
现在,我可以在“键”上设置“旺旺”,这可以正常工作。
$scope.$watch('page + numPage + simpleData.key', function() {
console.log('not working');
},true);
当我编写此代码时,此代码无法正常工作。
$scope.$watch('page + numPage + simpleData[0].key', function() {
console.log('working');
},true);
当我写js时,它工作正常。 angular js监视键,但仅针对“ 0”元素。 在数组中,我有很多元素,如何观看所有“键”元素。
请帮忙
谢谢
$watch
"simpleData.key"
不起作用,因为$scope.simpleData.key === undefined
。
如果您想深入观察数组,可以将true
作为第三个参数添加到$watch
,它可以进行深入观察,但这会大大降低性能。 每个$ digest循环都必须对数组进行深层次比较。
$watch("simpleData", function(){...}, true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.