cuốn sách gpt4 ai đã làm

javascript - 指令中范围的数组属性在引用时被清空

In lại Tác giả: Walker 123 更新时间:2023-11-28 08:52:30 26 4
mua khóa gpt4 Nike

我的指令如下所示:

angular.module('app')
.directive('chart', function () {
trở lại {
template: '
',
restrict: 'E',
replace: 'true',
scope: {
data: '='
},
link: function (scope, element, attrs) {
console.log(scope);
console.log(scope.data);
}
};});

并从 View 中的 Controller 传递一个数组。


控制台输出如下:

Scope {...}
$id: "006"
$parent: Child
$root: Scope
...
data: Array[1]
0: 10300
length: 1
__proto__: Array[0]
this: Scope
__proto__: Object

[]

当范围对象显示在控制台中时,它有一个长度为 1 的“data”属性和条目“10300”,但当打印 scope.data 时,它只是一个空数组“[]”。

为什么?我很困惑:)

câu trả lời hay nhất

问题是数组在 Controller 中初始化为 [],然后通过 $watch 调用的函数填充。由于某种原因,两个控制台输出似乎打印了 Controller 的不同状态。解决方案是在 Controller 中调用该函数一次,以立即用值初始化数组。

关于javascript - 指令中范围的数组属性在引用时被清空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989279/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress