vue init webpack-simple template
cd template
npm i
npm run dev
方式一 :子组件直接访问父组件的数据
父组件在调用子组件时,绑定想要获取的父组件中的数据
在子组件内部,使用 props 选项声明获取的数据,即接收来自父组件中的数据
创建如下目录

App.vue 中写入
我是 App 父组件
访问自己的数据:{{msg}},{{name}},{{user.id}}
<!-- 1. 在调用子组件时,绑定想要获取的父组件中的数据 -->
Hello.vue 文件中写入
我是 hello 子组件
<!-- 在页面中直接渲染即可 -->访问父组件中的数据: {{message}},{{name}},{{user.id}}
最后效果:

成功访问到父组件的数据
方式二 :为组件的 prop 指定 验证 规则,如果传入的数据不符合要求,Vue 会发出警告
父组件在调用子组件时,绑定想要获取的父组件中的数据
在 props 内以对象的形式写入校验规则
App.vue 中写入
我是 App 父组件
访问自己的数据:{{msg}},{{name}},{{user.id}}
<!-- 1. 在调用子组件时,绑定想要获取的父组件中的数据 -->
Hello.vue 中写入
我是 hello 子组件
<!-- 在页面中直接渲染即可 -->访问父组件中的数据: {{message}}
{{name}}
{{user.id}}
{{user.userName}}
{{age}}
{{ageOne}}
{{money}}
效果如下

注意:Prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意间修改了父组件的状态,来避免应用的数据流变得难以理解。
另外,每次父组件更新时,子组件的所有 prop 都会更新为最新值。这意味着你不应该在子组件内部改变 prop。
在子组件中使用 $emit(事件名,数据) 触发一个自定义事件发送数据
在父组件在使用子组件的标签内监听子组件的触发事件,并在父组件中定义方法用来获取数据
在 Hello.vue 中写入
我是 hello 子组件
访问自己的数据: {{msg}}
<!-- 触发 send 事件 ,发送数据 -->
{{name}}
在 App.vue 中写入
我是 App 父组件
<!-- 6. 在页面中渲染 -->访问子组件的数据:{{msg}},{{name}}
<!-- 子组件 --> <!-- 3. 在子组件标签内监听子组件事件的触发 -->
效果图:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4440/viewspace-2804186/ ,如需转载,请注明出处,否则将追究法律责任。