vue 通过<router-view></router-view> 渲染成的子组件,如何向父组件传值?

问题:vue通过<router-view></router-view> 渲染成的子组件,如何向父组件传值?
描述:

<div  class="goods-serve-body">
        <div  class="goods-serve-bod-top">
             <div>
                  **<span @click="switchRoute('goods')">产品</span>
                  <span @click="switchRoute('serve')">服务</span>**
             </div>
             <div>
                   <input type="text" placeholder="商品名称"
                                 v-model="searchData">
                        <span @click="searchData_fun(searchData)">查询</span>
                    </div>
                    <div style="clear:both;"></div>
              </div>

              <div>
                   **<router-view></router-view>**
              </div>
        </div>
        

通过<router-view></router-view> 变换不同的组件,如何将子组件的值传给父组件?

阅读 11.5k
3 个回答

<router-view></router-view>是用来切换路由,其实你可以不用</router-view>,写个if else判断,根据不同的参数渲染不同的组件。如果你非要用router-view来和父组件通信,可以通过$on $emit或者url传参或者localstorage或者vuex等来做组件间的通信。望采纳

可以使用$emit方法,这个方法的能传递值给<router-view @brage='pppp'></router-view>这个组件,通过这个组件在触发父组件上绑定的方法,也可以使用vuex这个中的值是响应式的,应该可以满足你需求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题