在 v-for 块中 我们拥有对父作用域属性的完全访问权限,这句话怎么理解

在 v-for 块中,我们拥有对父作用域属性的完全访问权限。

这句话怎么理解?
原文链接

阅读 4.1k
2 个回答

因为v-for指令会创建一个独立的子作用域的,比如这个示例


<ul id="test">
    <li v-for="(item, index) in items">
        // 这里就是v-for块的子作用域,这里我们能取到item和数组遍历的时候的索引值index,所以说我们拥有对父作用域属性的完全访问权限
        {{ item.message }} + {{index}}
    </li>
</ul>

var example2 = new Vue({
  el: '#test',
  data: {
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})

我是这样理解的,如果哪里不对欢迎指出

<ul id="example-2">
  <li v-for="(item, index) in items">
    {{ parentMessage }} - {{ index }} - {{ item.message }}
  </li>
</ul>
var example2 = new Vue({
  el: '#example-2',
  data: {
    parentMessage: 'Parent',
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})

楼上的说法误导人了吧。

这里的父作用域应该是 example2 。这里的parrentMessage是 example2.parentMessage

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题