我创建了一个带有名称和值数组的对象。
//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"。
我尝试使用原始Javascript和HTML在一个空白项目中复制它,但似乎无法复制它。我是否从根本上误解了数据如何在Javascript中传递?这是一个我不知道的AngularJS细微差别吗?