我开始学习vue,我想在组件之间传递数据到另一个组件而不使用参数/查询方式并在URL中公开数据,
我在网上发现一篇文章建议像下面这样传递数据,但不幸的是它在第二个组件中未定义!我的意思是用户变量未定义!
comp1
<template>
<div>
<div>Router linkoo<router-link to="/comp2" :props="{ user: user }">Go to Comp2</router-link></div>
</div>
</template>
<script>
export default {
name: 'comp1',
data(){
return {
user: 'john'
}
}
}
</script>
comp2
<template>
<div>
<div>You're in comp2</div>
<div v-on:click="log">Click me</div>
</div>
</template>
<script>
export default {
props: ['user'],
name: 'comp2',
methods: {
log() {
console.log(this.user);
}
}
}
</script>
简单的路由器设置:
const routes = [
{
name: 'comp1',
component: comp1,
path: '/'
},
{
name: 'comp2',
component: comp2,
path: '/comp2'
},]
将数据从第一个组件正确传递到第二个组件
为什么我不能在这里注册?也许有人可以帮我回答这个问题。