Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
233 views
in Technique[技术] by (71.8m points)

请问如下怎么发生 Cannot read property '1' of undefined?谢谢

<!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>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
var a = {
    b: 1,
    c: this.b
}

此时的this指向window,并不是a。再回到你的代码里,this.arr就是window.arr,这是undefined,再[1]取值,抛出错误


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share

2.1m questions

2.1m answers

63 comments

56.6k users

...