此示例中的VueJs图表应用程序在IE中不起作用。有谁知道为什么?
例如,以下组件不会打印错误但不会同时运行
<div class="app">
{{ message }}
<line-chart></line-chart>
</div>
Vue.component('line-chart', {
extends: VueChartJs.Line,
mounted () {
this.renderChart({
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'Data One',
backgroundColor: '#f87979',
data: [40, 39, 10, 40, 39, 80, 40]
}
]
}, {responsive: true, maintainAspectRatio: false})
}
})
var vm = new Vue({
el: '.app',
data: {
message: 'Hello World'
}
})
答案 0 :(得分:2)
这是因为,在这一行中,有一个ES6语法用于定义组件中的对象方法:
mounted () {
...并且Internet Explorer中不支持ES6语法。
相反,如果您希望支持IE,则必须在整个组件/应用程序中使用ES5语法:
Vue.component('line-chart', {
extends: VueChartJs.Line,
mounted: function() { //<- use this instead
this.renderChart({
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [{
label: 'Data One',
backgroundColor: '#f87979',
data: [40, 39, 10, 40, 39, 80, 40]
}]
}, {
responsive: true,
maintainAspectRatio: false
})
}
});