如何解决Bootstrap-vue-从Vue组件修改导航栏?
- 布局
- 导航栏
- 面包屑
- 路由器视图
- 组件
- 一些内容
我希望我的component
为父级导航栏注入一个子菜单。例如:
export default {
name: 'Component',data() {
return {
menu: [
'Item': {
href: '#'
}
]
}
},mounted() {
parent.menu.addItem(this.menu)
}
}
有可能这样做吗?
以下是顶部布局:
<template>
<div>
<navbar :menu="menu"></navbar>
<router-view></router-view>
</div>
</template>
<script>
import NavBar from './navbar'
export default {
components: {
navbar: NavBar
},data() {
return {
menu: [
{
text: "Foo",href: "/foo",},{
text: "Bar",href: "#",],};
},};
</script>
解决方法
您可以向父组件发出事件,如:
data() {
return {
menu: [
{
href: '#'
}
]
}
},mounted() {
this.$emit('emit-menu',this.menu)
}
父级:
<template>
<navbar :menu="menu" @emit-menu="addItem"></navbar>
<router-view></router-view>
</div>
</template>
<script>
import NavBar from './navbar'
export default {
components: {
navbar: NavBar
},methods:{
addItem(menu){
this.menu=[..this.menu,...menu]
}
},data() {
return {
menu: [
{
text: "Foo",href: "/foo",},{
text: "Bar",href: "#",],};
},};
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。