Пользовательский плагин Vuejs getelementbyid не работает - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь создать плагин vuejs следующего codepen

https://codepen.io/hakimel/pen/nLFDv?editors=0010

Все работает нормально, если я не изменяю строку

var canvas = document.body.appendChild( document.createElement( 'canvas' ) );

, ноесли я пытаюсь использовать следующую строку

var canvas = document.getElementById('mycanvas')

, она всегда возвращает

chart.js?28d6:5 Uncaught TypeError: Cannot read property 'getContext' of null

Я полагаю, что это происходит потому, что div # mycanvas не существует в данный момент.Но как обойти это?

это мой chart.js

export default {
    install: function(Vue) {
        Object.defineProperty(Vue.prototype, 'linechart', { value: new LineChart({ data: [] }) });
    }
}

, а затем я использую следующий код в компоненте vue

created(){
            this.linechart.populate([
                { label: 'One', value: 0 },
                { label: 'Two', value: 100 },
                { label: 'Three', value: 200 },
                { label: 'Four', value: 840 },
                { label: 'Five', value: 620 },
                { label: 'Six', value: 500 },
                { label: 'Seven', value: 600 },
                { label: 'Eight', value: 1100 },
                { label: 'Nine', value: 800 },
                { label: 'Ten', value: 900 },
                { label: 'Eleven', value: 1200, future: true },
                { label: 'Twelve', value: 1400, future: true }
            ]);

            this.linechart.start();
        }

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...