Javascript 多维数组上的角度js$watch?

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'

你好,朋友们,下面是我的数组

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[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);