title: How to set an observer on an array property in polymer element?
body: <p>The <strong>history</strong> property defined in my <strong>sma-canvas</strong> element:</p>
  
  <pre><code>static get properties() {
      return {
          history: {
              type: Array,
              value: () =&gt; {
                  return [];
              },
              notify: true
          }
      };
  }
  
  static get observers() {
      return [
          '_historyChanged(history.*)'
      ];
  }
  
  _historyChanged() {
      console.log("History Changed!");
      this._redrawCanvas(this.$.canvasEl, this.history);
  }
  </code></pre>
  
  <p>I'm trying to set the <strong>history</strong> property from another element:</p>
  
  <pre><code>&lt;dom-module id="sma-create-studio"&gt;
      &lt;template&gt;
          &lt;sma-canvas id="shapesCanvasEdit" history={{shapesOnCanvasEdit}}&gt;&lt;/sma-canvas&gt;
      &lt;/template&gt;
  &lt;dom-module&gt;
  </code></pre>
  
  <p>...</p>
  
  <pre><code>static get properties() {
      return {
          shapesOnCanvasEdit: {
              type: Array,
              value: () =&gt; {
                  return [];
              },
              notify: true
          }
      };
  }
  
  _selectFrame(e) {
      // this.shapesOnCanvasEdit = e.detail.frame.shapes;
  
      // this.shapesOnCanvasEdit.splice(0, this.shapesOnCanvasEdit.length);
      // this.shapesOnCanvasEdit.push(e.detail.frame.shapes);
  
      this.set('shapesOnCanvasEdit', e.detail.frame.shapes);
  
      // this.splice('shapesOnCanvasEdit', 0, this.shapesOnCanvasEdit.length, e.detail.frame.shapes);
  
      // this.splice('shapesOnCanvasEdit', 0, this.shapesOnCanvasEdit.length);
      // this.push('shapesOnCanvasEdit', e.detail.frame.shapes);
  
      // this.notifyPath('shapesOnCanvasEdit');
      // this.notifySpice('shapesOnCanvasEdit');
  }
  </code></pre>
  
  <p>I need to call <strong>_historyChanged</strong> (the observer in <strong>sma-canvas</strong>), whenever I change the value of <strong>shapesOnCanvasEdit</strong>. As you can see from the last code snippet, I tried multiple ways to do that, but all in-vain.</p>
  
  <p>Can anybody please help me in this regard? I have no clue, what I'm doing wrong.</p>