gpt4 book ai didi

javascript - 在 Polymer 中无法推送 Array 类型 polymer 属性中的元素

转载 作者:行者123 更新时间:2023-11-30 09:19:24 25 4
gpt4 key购买 nike

我在我的项目中使用 Polymer 1。我在此属性中使用数组类型 polymer 属性,我想在 _extractTimeSeriesData 回调中保存或存储元素。下面是我正在使用的代码段。每当我从 Rest API 获得响应时,都会执行此回调。在这里,我想将 _series 属性中的元素存储为 (self._series.push({ x: point[0], y0: (1 - (point[1])) * 100 });

但是在执行代码时出现错误,因为 Uncaught TypeError: self._series.push is not a function

Polymer({
is: 'test-view',

behaviors: [GlobalsBehaviour],

properties: {

timeSeriesData: {
type: Object,
observer: '_extractTimeSeriesData'
},
_series: {
type :Array,
value :[]
},

_extractTimeSeriesData: function (raw) {

if (raw !== null) {
tagsArray = raw.tags;
for (var i = 0; i < tagsArray.length; i++) {
if (this.ltuTag == tagsArray[i].name) {
var datapoints = raw.tags[i].results[0].values;
var self = this;
datapoints.forEach(function (point) {
self._series.push({ x: point[0], y0: (1 - (point[1])) * 100 });
});
console.log("chart data value is", _series);
}
}
}
},

我先尝试使用this._series.push({ x: point[0], y0: (1 - (point[1])) * 100 });但是它没有用,然后我也尝试使用变量作为 self 来引用它,就像上面的代码一样,但是这是行不通的。

谁能告诉我如何将元素存储在 Array Type polymer 属性中。

最佳答案

您必须调用 self.push('_series', dataStuff)。 Polymer 1 确实为您包装了默认的操作方法。因此,要更改您的属性,您必须调用 this.push('propName', value)this.set('propName', value)this。 splice('propName', value)

关于javascript - 在 Polymer 中无法推送 Array 类型 polymer 属性中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52690938/

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