Как объявить внешнюю функцию массива в синтаксисе компонента vue

#vue.js

#vue.js

Вопрос:

Я хочу объявить глобальный массив внутри 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 amp;amp; mouseX <= item.leftEdge ) 
            return item.value;
         });     
         console.log(toolTipVal);
      }
   }
  

Ответ №1:

Попробуйте объявить его внутри объекта данных

 data () {
    myArray:[]
 }
  

Вы также можете объявить props как объект, поскольку это позволит указать тип реквизита

 props: {
  labels: Array,
  dataset: Array,
  colors: Object
}
  

Если вы хотите, чтобы все ваши компоненты этого типа совместно использовали один и тот же массив, объявите его вне инструкции export default.

Ответ №2:

Ну, внутри вашего компонента вы можете объявить данные как функцию, и это будет локально для вашей функции.

 name: "BarElement",
props: ["labels", "dataset", "colors"],
data: function() {
    return {
        foo: {
            text: 'text1'
        }
    }
}
  

На случай, если вы хотите объявить глобальный массив в своем компоненте приложения.

Аналогично компоненту, вы можете добавлять данные внутри него.

Теперь, чтобы получить доступ к этим данным, вы можете использовать их с this.$root.[nameOfObject] .

Вот официальные документы для $ root

Надеюсь, это поможет!