<!DOCTYPE html>
<html>
<body>
<div id="app">
<component is="kkk"></component>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
new Vue({
el: '#app',
data:{
index:"1",
arr:[
{template:`<div>组件A</div>`},
{template:`<div>组件B</div>`},
{template:`<div>组件C</div>`}
],
},
components:{
kkk:this.arr[1]
},
})
</script>
</body>
</html>
此时的this指向window,并不是a。再回到你的代码里,this.arr就是window.arr,这是undefined,再
[1]
取值,抛出错误