它说newBlog没有定义,但是我正在从设置函数返回它,并在事件处理函数中使用它,我不明白问题可能是什么?
<template>
<form @submit="onSubmit" class="add-form">
...
</form>
</template>
<script>
import { ref } from '@vue/reactivity'
export default {
setup() {
const title = ref('')
const body = ref('')
const onSubmit = (e) => {
e.preventDefault()
const newBlog = {
title: title,
body: body
}
this.$emit('add-blog', newBlog)
title.value = ''
title.body = ''
}
return { title, body, onSubmit, newBlog }
}
}
</script>发布于 2021-08-12 16:12:25
newBlog是在onSubmit函数内部声明的,它不能在该作用域之外访问,从而导致您观察到的错误。
要解决此问题,请将newBlog声明移到onSubmit之外
export default {
setup() {
//...
const newBlog = {...}
const onSubmit = (e) => {
this.$emit('add-blog', newBlog)
}
return { title, body, onSubmit, newBlog }
}
}https://stackoverflow.com/questions/68760837
复制相似问题