beego+vue父子组件通信(父子页面传值、父子组件传值、父子路由传值)

拈花ヽ惹草 提交于 2021-01-20 01:44:22

场景:有head和foot,为父组件
侧栏tree为子组件
点击tree,右侧孙组件根据点击tree的id,来更改表格内容。

  1. 首先是父子(本例中是子组件与孙组件)通信,目前是父传到子,暂时还没有子传到父。
  • vue中路由设置如下:
export default new Router({
  routes: [
    {
      path: '/',
      redirect: {
        name: '首页'
      },
      component: cmshome,//父组件
      children: [  
        { path: '/', component: cmsindex, name: 'cmsindex' },    
        { path: '/projects', component: projects, name: 'projects' },
        { path: '/project', component: projecthome,name: 'projecthome',//子组件
          children: [
            {path: '/project', component: project, name: 'project'}//孙组件
          ]
        },
      ]
    },
  • 子组件中设置:treeId,因为tree-id就是treeId,这个子组件中的treeId值将会被孙组件中props获取到。
<router-view :tree-id="treeId"></router-view>
  • 孙组件:
props:['treeId'],
  1. 其次是点击tree,孙组件获得了id后,用watch来监视数据变化,当发现treeid变化时,就调用方法来请求服务端,获得表格中的json数据。
      watch: {    // 如果 question 发生改变,这个函数就会运行
        treeId: function (newQuestion) {
          this.projproducts(this.currentPage);
        }
      },

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!