#javascript #vue.js #vue-cli #echarts
#javascript #vue.js #vue-cli #электронные диаграммы
Вопрос:
При объединении Vue и электронных диаграмм я написал это в src /components/Chart.vue:
<script>
export default {
name: 'Charts',
data () {
return {
chart: ''
}
},
computed: {
style () {
return {
height: this.height,
width: this.width
}
}
},
mounted: {this.init()},
methods: {
init () {
this.chart = this.$echarts.init(document.getElementById(this.id))
this.charts.setOption(this.option)
}
}
}
</script>
И при запуске npm run dev
он выдал это:
ERROR Failed to compile with 1 errors 22:51:02
error in ./src/components/Chart.vue
Syntax Error: this is a reserved word (57:12)
55 | }
56 | },
> 57 | mounted: {this.init()},
| ^
58 | methods: {
59 | init () {
60 | this.chart = this.$echarts.init(document.getElementById(this.id))
@ ./src/components/Chart.vue 4:0-105 5:0-118
@ ./src/router/index.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js
Я много гуглил, но не нашел ответа. Я был бы очень признателен, если бы кто-нибудь мог меня просветить.
Комментарии:
1. Это просто недопустимый синтаксис. Что вы пытаетесь там сделать? У вас есть определение свойства с использованием инициализатора объекта («литерал объекта»), и вызов функции сам по себе недопустим в теле инициализатора объекта.
Ответ №1:
mounted
должна ссылаться на литерал функции, поэтому попробуйте это
mounted: function() { this.init() }
Ответ №2:
То же, что вы сделали с данными, смонтированной должна быть функция:
mounted () {
this.init()
},