gpt4 book ai didi

javascript - 回调实例冲突?

转载 作者:行者123 更新时间:2023-12-03 06:07:26 26 4
gpt4 key购买 nike

我在 polymer 元素中有以下回调,仅当接收到具有特定 dataid 值的数据时才会触发该回调。

Polymer({
is: 'widget-singlevalue',
properties: {
dataid: {
type: String
},
value: {
type: String,
value: 'Loading'
},
sparks: {
type: Object,
value: []
}
},
ready: function() {
console.log(this.dataid);
var self = this;
registerCallback(this.dataid, function (data) {
var y = data.data[0];
var i = y[Object.keys(y)[0]];
self.push('sparks', i);
console.log(self.dataid + ": " + self.sparks);
self.value = i;
});
}
});

元素:

<widget-singlevalue name="Retrieves Per Minute" dataid="AvgRetPerMin"></widget-singlevalue>

<widget-singlevalue name="Total" dataid="Total"></widget-singlevalue>

value 似乎总是正确的,但是当我查看每个小部件/元素上的 sparks 数组时,它们是混合在一起的。这是我当前的控制台输出:

AvgRetPerMin: 63.81,63.81,14891940,14891940,57.67,57.67,14892034,14892034,57.33,57.33
Total: 63.81,14891940,14891940,57.67,57.67,14892034,14892034,57.33,57.33,14892034

Total.Sparks 的值只能在 1400 万范围内,其他值应该是带小数的两位数。

最佳答案

您的代码中存在的一些错误是

  • sparks typeObject,但 valueArray。因此将 sparks 类型更改为 Array
  • 对于数组和对象,都使用函数返回值。根据 Polymer 的建议,它始终使用函数来返回对象和数组的值。这背后的原因是元素的每个实例都有自己的对象/数组副本

    value:function(){
    return []
    }

关于javascript - 回调实例冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39477541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com