繁体   English   中英

在多维数组上的Angular JS $ watch?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM