我想在组件内部声明一个全局数组vue.js
以便我可以在所有方法中访问它。在组件的哪个部分声明它?
我尝试在PROPS
中设置,但是当我需要数组类型时,它会生成一个对象。
export default{
name:"BarElement",
props:[
"labels",
"dataset",
"colors"
],
methods:{
drawGraph() {
var dataPoints =[];
var dataPoint =this.getDataPoint(upperLeftCornerX,nextX,value);
this.dataPoints.push(dataPoint);
}
getDataPoint(x, nextX, value) {
return {
'leftEdge':x,
'rightEdge':nextX,
'value':value
}
},
showToolTip(event) {
var mouseX = event.offsetX;
var toolTipVal = this.dataPoints.forEach(function(item, key) {
if(mouseX >= item.leftEdge && mouseX <= item.leftEdge )
return item.value;
});
console.log(toolTipVal);
}
}
尝试在数据对象中声明它
data () {
myArray:[]
}
你也可以将 props 声明为一个对象,因为这将允许指定 props 的类型
props: {
labels: Array,
dataset: Array,
colors: Object
}
如果希望该类型的所有组件共享同一个数组,请在 export default 语句之外声明该数组。
好吧,在您的组件中,您可以使用数据声明为函数,这将在您的函数本地进行。
name: "BarElement",
props: ["labels", "dataset", "colors"],
data: function() {
return {
foo: {
text: 'text1'
}
}
}
如果要在应用程序组件中声明全局数组。
与组件类似,您可以在其中添加数据。
现在,要访问该数据,您可以将其与 this.$root.[nameOfObject]
.
以下是$root的官方文档
希望这有帮助!