vue-router中在router-view标签中,是否可以自定义绑定属性,然后在渲染的组件中获取
自家在查看官方文档时,发现这段话,然后自己写的时候发现在组件中获取对应属性都是undefined,代码如下
<div id="app">
<router-link to="/goods" tag="div">
<a>aa</a>
</router-link>
<!-- <router-link to="a/b">bb</router-link> -->
<router-view name="sheng" titlea="i am goods"></router-view>
</div>
<script>
const Main = {
template: '<div><h1>父级</h1><router-view></router-view></div>'
};
const goods = {
props: ['titlea'],
template: '<p>{{str}}-goods</p>',
data () {
return {
name: this.titlea,
};
},
computed: {
str () {
console.log(this.name);// undefined
return this.name;
}
}
};
const ratings = {
template: '<p>ratings</p>'
};
const seller = {
template: '<p>seller</p>'
};
var router = new VueRouter({
routes: [
{
path: '/',
components: {
sheng: Main
},
children:[
{
path:'/goods',
component: goods
},
{
path:'/ratings',
component: ratings
},
{
path:'/seller',
component: seller
}
]
}
]
});
var vm = new Vue({
router,
data: {
name: 'ab'
},
}).$mount('#app');
</script>
有没有这样试试?