useRouter一定要放在setup方法内的顶层,否则作用域改变useRouter()执行返回的是undefined。
正确使用
<script setup>
import { useRouter } from 'vue-router';
const router = useRouter();
const toLogin = () => {
router.push({ name: 'login' });
};
</script>
错误使用文章来源:https://www.toymoban.com/news/detail-538644.html
<script setup>
import { useRouter } from 'vue-router';
const toLogin = () => {
const router = useRouter(); //router为 undefine
router.push({ name: 'login' });
};
</script>
如果需要在其他js文件的非setup中使用路由对象,可以直接引用createRouter()创建的路由对象。文章来源地址https://www.toymoban.com/news/detail-538644.html
到了这里,关于vue3.x中useRouter()执行后返回值是undefined问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!