• Как контролировать canvas во Vue?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Если вы хотите изменять что-то внутри канваса, путём того, что меняются значения props, то просто вешайте watch на нужные вам свойства и вызывайте те или иные методы отрисовки канваса.

    // MyCanvas.vue
    <template>
      <canvas ref="canvas" width="150" height="150"/>
    </template>
    
    <script>
    export default {
      props: {
        prop1: {
          type: String,
          default: null
        },
        prop2: {
          type: Number,
          default: 0
        }
      },
      data: () => ({
        ctx: null
      }),
      watch: {
        prop1 (value) {
          // Изменилось значение свойства prop1, рисуем квадрат
          this.ctx.fillRect(10, 10, 55, 50);
        },
        prop2 (value) {
          // Изменилось значение свойства prop2, рисуем ещё квадрат
          this.ctx.fillRect(30, 30, 55, 50);
        },
      },
      mounted () {
        if (!this.ctx) {
          this.ctx = this.$refs.canvas.getContext("2d");
        }
      }
    }
    </script>
    Ответ написан
    4 комментария