序
Vue的组件范围是隔离的,不允许直接引用子组件模板中父组件的数据。必须使用特定的方法来实现组件之间的数据传输。
首先,用vue-cli创建一个项目,其中App.vue是父组件,components文件夹中充满了子组件。
首先,父组件将数据传输给子组件
在Vue中,可以使用道具将数据传递给子组件。
子组件部分:
这是header.vue的HTML部分,logo是数据中定义的变量。
如果需要从父组件中获取logo的值,则需要使用prop :[' logo ']
父组件零件:
调用组件时,使用v-bind将logo的值绑定到App.vue中定义的变量logoMsg
然后可以将App.vue中的logoMsg值传递给header.vue:
其次,子组件将数据传输到父组件
子组件主要通过事件将数据传递给父组件
子组件部分:
这是login.vue的HTML部分,当输入的值改变时,用户名被传递给App.vue
首先,声明一个方法setUser,并用change事件调用setUser
在setUser中,$emit用于遍历transferUser事件并返回这个
TransferUser是一个用户定义的事件,其功能类似于转移。this.username将通过此事件传递给父组件
父组件零件:
在父组件App.vue中,声明了一个方法getUser,并使用transferUser事件调用getUser方法来获取从子组件传递的参数username
getUser方法中的参数消息是从子组件传递的参数用户名
第三,子组件向子组件传输数据
Vue没有直接从子代传递参数的方法,建议将所有需要传递数据的子组件组合成一个组件。如果必须将参数从子组件传递给子组件,则可以将其从传递给父组件,然后再传递给子组件。
为了方便开发,Vue引入了状态管理工具Vuex,可以方便地在组件之间传递参数
摘要
以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。