2022-03-17 引入Router组件报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-03-17 引入Router组件报错相关的知识,希望对你有一定的参考价值。
参考技术A 一、引用router组件时报错。
原因是未在main.js的Vue实力中添加 router
二、引入router时必须小写router变量
三、在使用js的fillter方法时 将.fillter 错写为 .fillters
四、在用vue做菜单时,控制台提示:
vue.esm.js:628 [Vue warn]: Invalid prop: type check failed for prop "index". Expected String with value "1", got Number with value 1.
解决方法::index="item.id +'' "
五、实现router页面跳转 定义跳转点击事件 忘记传参
vue-router在组件化编码中,路由的使用步骤
一、在组件化编码中,路由的使用方法
1. 在路由组件文件夹下定义路由组件
- 和定义普通组件步骤相同
2. 在router.js文件中定义路由匹配规则
- 首先引入第一步中定义好的组件
import Home from './views/Home.vue'
// 第二种引入方法,给 path 绑定组件时导入 ,有什么区别待查正,涉及赖加载
component: () => import(/* webpackChunkName: "search" */ './views/SearchUser.vue')
- 制定路由匹配规则
export default new Router(
routes: [
path: '/',
name: 'home',
component: Home
,
],
)
3. 注册路由
- 在vue实例中注册路由,如果使用vue-cli构建项目,这些工作都已经做好
4. 使用路由
- 定义路由切换的入口
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
- 设置路由切换的容器
<router-view></router-view>
<!-- 给容器指定特定显示的组件 -->
<router-view name="home"></router-view>
二.路由的一些特殊用法
1.路由嵌套
一个使用了路由的组件中如果还要使用路由,那么就需要使用路由嵌套,比如在根路由下有一个子路由 ‘/login’ , 就需要在 / 路由的匹配规则中加入 children 属性数组,其内容就是定义子路由匹配规则的对象。
children : [
path : 'login',
name : '',
component : '组件‘
,
]
2.路由重定向
路由重定向也是一条匹配规则,只是需要把 path 对应的 component 换成 redirect : ‘‘ 属性值是目标 path 路径
routes : [
path : '/',
redirect : '/home'
]
3.活动态的路由组件
当前所在的路由组件就是处在活动态,这个状态随路由组件的切换而改变,进入活动态的组件标签有一个 router-link-active 属性,非活动态的组件则没有,可以给这个属性赋一个特殊css样式
4.控制路由组件的回退
在Android应用程序的左上角通常会有一个回退箭头,在pc浏览器左上角同样有前进和回退的操作,如果想要把这种回退和前进操作放到应用程序本身里面,而不是用浏览器的回退按钮去操作,特别是在移动端的web应用就有这种需求,就可以使用以下方法:
// 回退按钮的单机事件绑定函数
@click = "$router.back()"
// 前进
this.$router.go(1)
5. 另外一些切换路由的方式
this.$router.push(‘/home/news‘)
这种方式相当与使用 "router-link to=‘/home/news‘ " , 可以正常回退到上一个显示的组件。this.$router.replace(‘/home/news‘)
这种方式是把当前所在的组件路由干掉,替换成目标组件的路由,如果回退,不会回到上一次显示的组件
以上是关于2022-03-17 引入Router组件报错的主要内容,如果未能解决你的问题,请参考以下文章
react-router 报错React.createElement: type is invalid ...解决方法
Vue 打包后报错 Uncaught TypeError: Cannot redefine property: $router