用data
编写函数是否被视为一种好习惯?我的意思不是在根组件中,而是在其子组件中。
我之所以问这个问题,是因为我看过Vue插件vue-echarts之一,在其README.md中使用了它。
<template>
<v-chart :options="polar"/>
</template>
<style>
/**
* The default size is 600px×400px, for responsive charts
* you may need to set percentage values as follows (also
* don't forget to provide a size for the container).
*/
.echarts {
width: 100%;
height: 100%;
}
</style>
<script>
import ECharts from 'vue-echarts'
import 'echarts/lib/chart/line'
import 'echarts/lib/component/polar'
export default {
components: {
'v-chart': ECharts
},
data () {
let data = []
for (let i = 0; i <= 360; i++) {
let t = i / 180 * Math.PI
let r = Math.sin(2 * t) * Math.cos(2 * t)
data.push([r, i])
}
return {
polar: {
title: {
text: '极坐标双数值轴'
},
legend: {
data: ['line']
},
polar: {
center: ['50%', '54%']
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
},
angleAxis: {
type: 'value',
startAngle: 0
},
radiusAxis: {
min: 0
},
series: [
{
coordinateSystem: 'polar',
name: 'line',
type: 'line',
showSymbol: false,
data: data
}
],
animationDuration: 2000
}
}
}
}
</script>
如果是,那么何时执行?在created()
生命周期之后还是什么?
这是两个问题
谢谢。
答案 0 :(得分:1)
数据键是组件的内存。它将允许您将要跟踪的变量存储在组件内部,这是组件反应性的一部分。
如果是,何时执行?
它将在beforeCreate
方法之后和created
方法之前执行。
cf:https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram
如果您想要特定的内容,可以直接在数据功能内部格式化数据。
您从vue-echart
插件中获得的示例与
let data = []
for (let i = 0; i <= 360; i++) {
let t = i / 180 * Math.PI
let r = Math.sin(2 * t) * Math.cos(2 * t)
data.push([r, i])
}
var vm = new Vue({
data() {
return {
a: data
}
}
})
我个人更喜欢在创建组件默认状态后在created()
函数中格式化数据,只是为了简化代码。
请记住,data
关键字也可以是一个简单的对象,但是它应该是组件内部的一个函数,以避免在相同Vue实例中重复它们时共享相同的对象。
在这种情况下,没有“最佳实践”(我可能是错的,但我从未见过),这只是两个开发人员之间的不同偏好。
如果需要有关此data
的更多信息,请随时检查https://vuejs.org/v2/api/#data