组件之间传参及获取动态参数(导航路由)

父级向子级动态传参

导航栏

<li v-for="(NVchildlist,cindex) in NVlist.childList" :key="cindex">
<router-link
:to="{
path: NVchildlist.url,
query: {mdl: NVchildlist.model,catid: NVchildlist.catid}
}">{{NVchildlist.catname}}
</router-link>
</li>

父组件
<cat-top :mdl="mdl"></cat-top>  //组件音乐

import catTop from './common/catTop'
export default {
name: "page",
components: {catTop},
data(){
return{
mdl: String
}
},
created: function() {
this.mdl = this.$route.query.mdl //获取路由参数
},
}
子组件
<div class="catTop_box">
{{mdl}}
</div>

export default {
name: "catTop",
props: ['mdl'],
data(){
return {

}
}
}

Tip:需要注意(如果路径不变,只是参数变,里面的组件不会重新渲染)
解决办法
created: function() {
this.model = this.$route.query.model
this.catid = this.$route.query.catid
},
//注意这里 监听路由事件
watch:{
$route(){
this.model = this.$route.query.model
this.catid = this.$route.query.catid
},
}
 
posted @ 2018-07-05 16:53  星战Moo  阅读(921)  评论(0编辑  收藏  举报