$ rootScope对象在控制器之间丢失数据

时间:2017-12-06 03:10:15

标签: javascript angularjs

我创建了一个带有名称和值数组的对象。

//BST definition
class BinarySearchTree {
  constructor(name, arrayOfValues) {
    this.name = name;
    this.arrayOfValues = arrayOfValues;
  }
}

在根级控制器中,我使用一些数据初始化它们的数组中的第一个索引:

$rootScope.DataStructure.binarySearchTrees[0] = new BinarySearchTree('first', [
    {
        position: new Vector2(500, 100),
        value: 23
    }, 
    {
        position: new Vector2(700, 100),
        value: 28
    }, 
    {
        position: new Vector2(900, 100),
        value: 30
    }
]);
console.log($rootScope.DataStructure.binarySearchTrees[0]);

在另一个子控制器中,我将此rootScope变量记录到控制台:

console.log($rootScope.DataStructure.binarySearchTrees[0]);

第一个日志出来是正确的,说第一个索引的数组名为' first',有3个值,这些值是我所期望的。但是,在我记录相同索引时的子控制器中,它返回说第二个数据成员有一个值,键值对为" 0:0"。

Console output of the object after creation and logged from another controller.

我尝试使用原始Javascript和HTML在一个空白项目中复制它,但似乎无法复制它。我是否从根本上误解了数据如何在Javascript中传递?这是一个我不知道的AngularJS细微差别吗?

0 个答案:

没有答案