в Polymer не может выдвигать элементы из свойства Array типа polymer - PullRequest
0 голосов
/ 07 октября 2018

Я использую Polymer 1 в моем проекте.Я использую свойство полимера типа массива в этом свойстве. Я хочу хранить или хранить элементы в обратном вызове _extractTimeSeriesData. Ниже приведен фрагмент кода, который я использую.этот обратный вызов выполняется всякий раз, когда я получаю ответ от Rest API.Здесь я хочу сохранить элементы в свойстве _series как (self._series.push ({x: point [0], y0: (1 - (point [1])) * 100});

, но покапри выполнении кода я получаю сообщение об ошибке Uncaught TypeError: self._series.push не является функцией

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 - (точка [1])) * 100}), но тогда это не сработало, и я попытался сослаться на это, используя переменную как self, как в приведенном выше коде, но это не работает.

Может кто-нибудь, пожалуйста, скажите мне, как я могу хранить элементы в свойстве Array Type Polymer.

1 Ответ

0 голосов
/ 08 октября 2018

Вы должны позвонить self.push('_series', dataStuff).Полимер 1 оборачивает методы манипуляции по умолчанию для вас.Таким образом, чтобы изменить свои свойства, вы должны позвонить this.push('propName', value) или this.set('propName', value) или this.splice('propName', value) и т. Д.

...