通过$范围参考工作,但我不完全理解为什么

时间:2014-11-06 10:16:04

标签: angularjs

我通过从minmax计算的exetrnal函数填充$ scope数组。 我将数组传递给函数(不传递$ scope),并将值添加到传递的数组的引用。这些值已成功添加到$ scope数组中,但我不确定为什么这样可行。任何人都可以澄清吗?

以下是代码:

在控制器中

$scope.Minutes = [];
numbersToScopearray(0, 60, $scope.Minutes);

控制器外

function numbersToScopearray(min, max, scope) {
    for (i = 0; i <= 60; i++) {
        if (i < 10) { value = "0" + i; } else { value = i; }
        scope.push({ 'value': value, 'display': value });
    }
}

我添加到scope的值也会添加到$scope.Minutes。哪个好,但为什么会这样呢?

1 个答案:

答案 0 :(得分:0)

您正在引用对象$ scope.Minutes并将其作为函数的参数提供。所以,当你做一些事情的范围&#39;这是&$ 39; $ scope.Minutes&#39;它修改了内存中指向的数组。 你需要更多解释吗?