Javascript 多维数组上的角度js$watch?
你好,朋友们,下面是我的数组 data.php文件Javascript 多维数组上的角度js$watch?,javascript,angularjs,multidimensional-array,Javascript,Angularjs,Multidimensional Array,你好,朋友们,下面是我的数组 data.php文件 $array = array( '0' => array( 'id' = 1, 'name' = 'test', 'key' = array( '0' = 'key1', '1' = 'key2', '2' = 'key3'
$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[0].key', function() {
console.log('working');
},true);
当我写js的时候,它工作得很好。角度js监视键,但仅用于“0”元素。
在数组中,我有很多元素,我如何才能看到所有元素的“键”
请帮忙
谢谢您
ing“simpleData.key”
不起作用,因为$scope.simpleData.key==未定义的
如果您试图对数组进行深度监视,可以将true
作为第三个参数添加到$watch
,这将进行深度监视,但这会对性能造成很大的损失。每个$digest周期都必须对数组进行深层次比较
$watch("simpleData", function(){...}, true);
清晰地它不适用于
simpleData.key
-没有这样的东西。@NewDev我现在编辑我的问题,检查一下。在你的示例中,simpleData
到底是什么?@NewDev在simpleData中我将存储我的json数组,请正确查看上面的代码thanks@NewDev我现在编辑我的代码检查。嘿,亲爱的,谢谢你的回答,这是工作,但不工作具有多个关键字,如$监视(“page+numPage+simpleData”,function(){…},true);当我写这是不工作,请帮助。非常感谢您您的回答是正确的,但是$watch(“page+numPage+simpleData”,function(){…},true);这是行不通的。我通过了第三个参数true,但不起作用。为什么你认为这会起作用?要查看多个表达式,请使用$watchGroup([“page”,“numPage”],function(){…})
,但不要使用simpleData
,因为$watchGroup
不能进行深度查看。这很有效,非常感谢亲爱的,实际上我已经开始学习angular js感谢帮助。另外,请先阅读-这很有帮助。不要叫这里的人“亲爱的”:)这可能是一种文化现象,但它只是给人一种奇怪的感觉。
$watch("simpleData", function(){...}, true);