Vue中如何具体使用$root和$parent进行组件间通信?
- 内容介绍
- 文章标签
- 相关推荐
本文共计316个文字,预计阅读时间需要2分钟。
使用Vue.js进行状态管理时,可以选择Vuex或直接操作Vue实例的data属性。对于小型项目或逻辑不复杂的情况,通常不需要Vuex。以下是一个简化后的示例:
javascriptconst app=new Vue({ data() { return { loading: true }; }, router, store});
$root
vue状态管理使用vuex,如果项目不大,逻辑不多,name我们没必要用vuex给项目增加难度,只需要用$root设置vue实例的data就行了,如下
main.js
new Vue({ data(){ return{ loading:true } }, router, store, render: h => h(App) }).$mount('#app')
a.vue
created(){ console.log(this.$root.loading) //获取loading的值 }
b.vue
created(){ this.$root.loading = false; //设置loading的属性 }
$parent
parent能够访问父组件的属性和方法
parent.vue
<template> <div> <child> </child> </div> </template> <script> import child from './child'; export default { components:{ child }, data(){ return { text:"测试" } }, } </script>
child.vue
<template> <div> <child> </child> </div> </template> <script> import child from './child'; export default { created(){ console.log(this.$parent.text)//测试(能够获取到父组件的属性和方法) } } </script>
$refs
总结
以上所述是小编给大家介绍的vue中的$root,$parent,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
本文共计316个文字,预计阅读时间需要2分钟。
使用Vue.js进行状态管理时,可以选择Vuex或直接操作Vue实例的data属性。对于小型项目或逻辑不复杂的情况,通常不需要Vuex。以下是一个简化后的示例:
javascriptconst app=new Vue({ data() { return { loading: true }; }, router, store});
$root
vue状态管理使用vuex,如果项目不大,逻辑不多,name我们没必要用vuex给项目增加难度,只需要用$root设置vue实例的data就行了,如下
main.js
new Vue({ data(){ return{ loading:true } }, router, store, render: h => h(App) }).$mount('#app')
a.vue
created(){ console.log(this.$root.loading) //获取loading的值 }
b.vue
created(){ this.$root.loading = false; //设置loading的属性 }
$parent
parent能够访问父组件的属性和方法
parent.vue
<template> <div> <child> </child> </div> </template> <script> import child from './child'; export default { components:{ child }, data(){ return { text:"测试" } }, } </script>
child.vue
<template> <div> <child> </child> </div> </template> <script> import child from './child'; export default { created(){ console.log(this.$parent.text)//测试(能够获取到父组件的属性和方法) } } </script>
$refs
总结
以上所述是小编给大家介绍的vue中的$root,$parent,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

