#vuejs2
#vuejs2
Вопрос:
У меня есть два компонента, Login.vue и Home.vue. Мне нужно передать переменную из Login в Home, используя props.
Итак, в моем родительском Login.vue я использую
<template>
<b-nav-form @submit.prevent="login">
<home :error='error'></home>
...
</b-nav-form>
</template>
и
<script>
import Home from './Home'
export default {
name: 'Login',
components: {
home: Home
},
data () {
return {
email: '',
password: '',
error: ''
}
},
methods: {
login () {
// not interesting
},
loginSuccessful (req) {
//not interesting too
},
loginFailed (req) {
this.error = 'LOGIN ERROR'
}
}
}
</script>
Я хочу отправить error
домой
итак, в Home.vue
<template>
<header class="container-home">
<div class="container h-100">
<span>This is the HOME</span>
<span> {{error}}</span>
</div>
</header>
</template>
<script>
export default {
name: 'home',
props: ['error']
}
</script>
error
отображается в Login.vue, но нет error
в Home.vue
Ответ №1:
https://v2.vuejs.org/v2/guide/components-props.html
Проверьте раздел о корпусе prop.
Вы используете camelCase в названии реквизита шаблона. Поскольку HTML не чувствителен к регистру, вам нужно вместо этого использовать эквивалент kebab (разделенный дефисом).
<home :error-message="error"></home>
Комментарии:
1. спасибо, но это не проблема … я изменил свое сообщение об ошибке на просто error (обновил вопрос), но ничего не меняется
2. @besmart затем предоставьте codesandbox.io с вашей проблемой, чтобы мы могли помочь лучше.