vue3,route.push不是一个函数.我在google中找不到这个错误的解决方法

vngu2lb8  于 2022-11-25  发布在  Vue.js
关注(0)|答案(1)|浏览(287)

我用vue3和laravel创建应用程序。当我在文本框中提交文本时,addCategory函数触发。此时,我想重定向默认页面。但route.push导致以下错误。
未捕获(在承诺中)TypeError:路由.push不是函数

这是我的密码
第一个
除了路由器以外,还有其他问题吗?谢谢你的帮助。很抱歉我的英语不是很好。

pinkon5k

pinkon5k1#

请注意,router=useRouter()route=useRoute()是两个不同的对象。router是使用createRouter创建的路由器示例,它处理所有路由。route是当前路由示例。
你要做的是把一个路由推到路由器,而不是路由对象(顺便说一句,它没有一个叫做push的方法,这反过来会给你错误),

import { useRouter } from 'vue-router'
const router = useRouter()

const addCategory = async () => {
    if (categories.value.length === 0)
    {
        noData.value = !noData.value
    }
    await submitNewCategory()
    await getCategories()
    newCategory.value = ''
    // router.push({name: 'category.show', params: {categoryId: categoryId + 1 }})
    router.push('/')
}

相关问题