vue 子路由切换出现闪烁的问题。
答案:3 悬赏:70 手机版
解决时间 2021-03-11 15:57
- 提问者网友:爱了却不能说
- 2021-03-10 16:58
vue 子路由切换出现闪烁的问题。
最佳答案
- 五星知识达人网友:佘樂
- 2021-03-10 17:32
首先,先来讲个小东西吧。我个人一般在开发的时候都会将eslint关闭掉。在新建一个项目的时候,会提示你安装否。选择n就行了。也就是no。见下图!如果你不心安装了。也没事。在项目的配置文件中找到它注释掉即可。
首先第一步,在components文件夹里新建两个.vue文件。将用它们来路由页面。并且分别取名router1.router2
接下来,我们就开始配置路由了。首先说几个准备思路吧。第一:页面打开后是要有默认显示页的(默认的路由),第二,同时实现路由切换时像jstab切换效果。接下来,我们要在app.vue里写好2个导航命名为router1和router2。分别用来将router2,router1路由进来。(在这之前请把hello.vue的内容清空,才能看到现面第二张图的效果)
现在基本的准备工作已经做好了。现在看到min.js文件。我个人的习惯是喜欢把路由的配置写在这里或者引入到这里。不习惯放在router文件夹下面的index.js。请看下图片。首先将。原始的router引入的改成vuerouter。然后引入之前新建好的两个.vue文件。记得要use一下。最后创建一个router实例。第一个path / 表示的意思是默认路由进来的组件。也就是router1.
到了这里就差最后一步了。回到app.vue。写上路由。分别给router1,router2加上路由标签。router-link标签渲染时会自动增加一个a标签带href路转。后面的to='',就是将要路由到哪里去的min.js中的path路径。to="/"表示此处将路由显示出min.js路由配置中path为/的component。最后,router-view标签是将路由过来的组件渲染在什么地方。这里写在了导航下面。效果请看第二,第三张图片。第二张图片就是默认进来的路由页面。也就是router1.地址栏中的路径就是首页。第三张图地址栏中路径变了,而且内容也变了。说明路由成功。
最后给路由的导航加上像js一样的tab切换效果。用到vue路由中自有的类。router-link-active.意思是在路由激活时更变的class.看图。在style中写好css.页面上就可以看到默认显示的路由组件导航就有class了。不过此时,你已经成功了一半了。因为请看下面第三张图片。当点击router2的时候,出现了两个红色字体。这下尴尬了。
首先第一步,在components文件夹里新建两个.vue文件。将用它们来路由页面。并且分别取名router1.router2
接下来,我们就开始配置路由了。首先说几个准备思路吧。第一:页面打开后是要有默认显示页的(默认的路由),第二,同时实现路由切换时像jstab切换效果。接下来,我们要在app.vue里写好2个导航命名为router1和router2。分别用来将router2,router1路由进来。(在这之前请把hello.vue的内容清空,才能看到现面第二张图的效果)
现在基本的准备工作已经做好了。现在看到min.js文件。我个人的习惯是喜欢把路由的配置写在这里或者引入到这里。不习惯放在router文件夹下面的index.js。请看下图片。首先将。原始的router引入的改成vuerouter。然后引入之前新建好的两个.vue文件。记得要use一下。最后创建一个router实例。第一个path / 表示的意思是默认路由进来的组件。也就是router1.
到了这里就差最后一步了。回到app.vue。写上路由。分别给router1,router2加上路由标签。router-link标签渲染时会自动增加一个a标签带href路转。后面的to='',就是将要路由到哪里去的min.js中的path路径。to="/"表示此处将路由显示出min.js路由配置中path为/的component。最后,router-view标签是将路由过来的组件渲染在什么地方。这里写在了导航下面。效果请看第二,第三张图片。第二张图片就是默认进来的路由页面。也就是router1.地址栏中的路径就是首页。第三张图地址栏中路径变了,而且内容也变了。说明路由成功。
最后给路由的导航加上像js一样的tab切换效果。用到vue路由中自有的类。router-link-active.意思是在路由激活时更变的class.看图。在style中写好css.页面上就可以看到默认显示的路由组件导航就有class了。不过此时,你已经成功了一半了。因为请看下面第三张图片。当点击router2的时候,出现了两个红色字体。这下尴尬了。
全部回答
- 1楼网友:青尢
- 2021-03-10 20:23
是不是加了transition. 有没有加mode='out-in' ?
- 2楼网友:酒者煙囻
- 2021-03-10 18:46
用 vue-cli 创建的初始模板里面,并没有 vue-router,需要通过 npm 安装
cnpm i vue-router -D
安装完成后,在 src 文件夹下,创建一个 routers.js 文件,和 main.js 平级
然后在 router.js 中引入所需的组件,创建 routers 对象
import Home from './components/home.vue'
const routers = [
{
path: '/home',
name: 'home',
component: Home
},
{
path: '/',
component: Home
},
]
export default routers
在创建的 routers 对象中, path 配置了路由的路径,component 配置了映射的组件
需要注意的是,export default routers 必须写在文件底部,而且后面还需要接一空行,否则无法通过 ESlint 语法验证
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯