Vue Asynchronous component pass Array problem

A.html


 <x-header   v-bind:a="a"  ></x-header>

 var _vm = new Vue({
    el: "-sharpapp",
    data: {
      a:[
        {
          name: "",
          img: "../assets/images/menu.png",
          url: "../index/index.html",
          active: false
        }
      ]
    },
    mounted () {
        var _this = this;
         Vue.component("x-header", function (resolve,reject) {
                require(["text!../component/x-header.html"],function(html) {
                    resolve({
                      props: {  
                        a:Array
                      },
                      template: html
                })
            });
        });
    },
    methods: {
       
    }
});

b.html

<div>
   <div   v-for="(index,item) in a" >
              {{index}}--- {{item}} 
        </div>
</div>

the actual output results are as follows:
[- 0
Omurmuri-1
BQM-2
JMQ-3
EMUR-4
CQM-5
TFI-6
-7
Omuri-8
BMMI-9
JFLY-10
EMul-11
CMuy-12
TFI-13
]-- 14

Jun.28,2022

this should be because a passed from the parent component is a'[object Object] 'string data, and the traversal time should be written as:

   <div v-for="(item, index) in a" :key="index">
      {{index}}--- {{item}} 
    </div>

there seems to be no problem with writing this
https://jsfiddle.net/0td8ac73/1/


Why should x-header be registered globally in mounted? Just leave it outside for global registration

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b3846e-2c0f2.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b3846e-2c0f2.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?