vue路由

Vue.js - day6

与世无争的帅哥 提交于 2020-01-20 18:28:13
注意: 有时候使用 npm i node-sass -D 装不上,这时候,就必须使用 cnpm i node-sass -D 在普通页面中使用render函数渲染组件 在webpack中配置.vue组件页面的解析 运行 cnpm i vue -S 将vue安装为运行依赖; 运行 cnpm i vue-loader vue-template-compiler -D 将解析转换vue的包安装为开发依赖; 运行 cnpm i style-loader css-loader -D 将解析转换CSS的包安装为开发依赖,因为.vue文件中会写CSS样式; 在 webpack.config.js 中,添加如下 module 规则: ​module: {​ rules: [​ { test: /\.css$/, use: ['style-loader', 'css-loader'] },​ { test: /\.vue$/, use: 'vue-loader' }​ ]​ }​ 创建 App.js 组件页面: ​ <template>​ <!-- 注意:在 .vue 的组件中,template 中必须有且只有唯一的根元素进行包裹,一般都用 div 当作唯一的根元素 -->​ <div>​ <h1>这是APP组件 - {{msg}}</h1>​ <h3>我是h3</h3>​ </div>​ <

看完这篇傻瓜都会Vue路由嵌套页面(最详细)

浪子不回头ぞ 提交于 2020-01-20 12:25:13
首先在App.vue文件下加入如下 再到router---->index.js编写路由的js 在这里我的主体是统一在Main.vue页面渲染所有嵌套子页面写在了Main下面,这里需要注意的是(children)这个是重点 我们需要在Main.vue(主页)中进行子页面的注册,把子页面都引入主页面直接看结构吧 圈起来的地方(router-view)是你需要在哪里渲染,什么位置,这个可以自行调整 到这里就完成了页面嵌套,最后给大家看一下完成效果是什么样的 来源: CSDN 作者: 培训班出来的 链接: https://blog.csdn.net/qq_666123/article/details/104048582

vue中嵌套路由

我与影子孤独终老i 提交于 2020-01-18 16:07:25
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./lib/vue.js"></script> <script src="./lib/vue-router.js"></script> </head> <body> <div id="app"> <router-link to="/genmulu">根目录内容</router-link> <router-view></router-view> </div> <template id="genmu"> <div> <h2>这是根目录显示的内容</h2> <router-link to="/genmulu/login">登陆</router-link> //这里面进行页面跳转的需要将前面的父级路由带上 <router-link to="/genmulu/resigest">注册</router-link> </div> </template>

vuerouter路由的理解

孤街浪徒 提交于 2020-01-18 09:06:45
vue-router 就是路由,地址栏输什么,到什么页面,而且vue-router可以通过html5的history实现单页面应用,不刷新跳转,你切地址,只是页面上的组件的切换。另外vue-router还可以实现页面间传参等其他功能。  路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容。Home按钮 => home 内容, about按钮 => about 内容,也可以说是一种映射. 所以在页面上有两个部分,一个是点击部分,一个是点击之后,显示内容的部分。   点击之后,怎么做到正确的对应,比如,我点击home 按钮,页面中怎么就正好能显示home的内容。这就要在js 文件中配置路由。  路由中有三个基本的概念 route, routes, router。     1, route,它是一条路由,由这个英文单词也可以看出来,它是单数, Home按钮 => home内容, 这是一条route, about按钮 => about 内容, 这是另一条路由。     2, routes 是一组路由,把上面的每一条路由组合起来,形成一个数组。[{home 按钮 =>home内容 }, { about按钮 => about 内容}]     3, router 是一个机制,相当于一个管理者

(4) vue路由

纵饮孤独 提交于 2020-01-18 06:39:01
1 <router-view></router-view> 路由显示的位置 <router-link></router-link> 相当于a连接 或者 this.$router.push({path:}) 2 mode router 文件夹中的index.js 文件 export default new Router({ mode:"history", routes: [] }) history url http://localhost:8080/goods/img hash URL http://localhost:8080/#/goods/img 3 动态路由 index.js /user/:name url /user/zlt {{ $route.params.name}} 页面显示zlt 4路由嵌套 index.js export default new Router({ routes: [ { path: '/goods', name: 'gl', component: gl, children:[ {path:'title', name:'title', component:title }, {path:'img', name:'img', component:img } ] } ] }) gl.vue 父组件 <router-link to="/goods/title

react-路由和Ant design

余生颓废 提交于 2020-01-17 17:08:23
路由的使用 react-router import React from 'react' // 如果要使用 路由模块,第一步,运行 yarn add react-router-dom // 第二步,导入 路由模块 // HashRouter 表示一个路由的跟容器,将来,所有的路由相关的东西,都要包裹在 HashRouter 里面,而且,一个网站中,只需要使用一次 HashRouter 就好了; // Route 表示一个路由规则, 在 Route 上,有两个比较重要的属性, path component // Link 表示一个路由的链接 ,就好比 vue 中的 <router-link to=""></router-link> import { HashRouter, Route, Link } from 'react-router-dom' import Home from './components/Home.jsx' import Movie from './components/Movie.jsx' import About from './components/About.jsx' // 导入 日期选择组件 import { DatePicker } from 'antd' export default class App extends React.Component

vue路由跳转取消上个页面的请求

巧了我就是萌 提交于 2020-01-17 02:34:43
  我们经常会遇到当前页面未加载完毕时跳转路由或者返回操作, 但是通过network会发现, 若网络环境较差的情况下, 会一直pending, 切换路由后在network中添加新的请求但是正在pending的请求依然存在. 当我们在项目中做了一个上拉加载分页的时候会一直加载中, 用户等待不耐烦后可能会主动触发返回操作, 但是此刻即使用户触发返回操作, 加载分页的请求还是存在, 页面还是会一直提示加载中, 直到该请求加载成功或超时才肯罢休。最终给用户造成一些不必要的结果,同时也对web性能造成一定的影响。   那么如何解决这个问题呢,方法就是监听路由,在路由切换前将上个页面的请求取消。   第一步:   axios请求头设置   import axios from 'axios' import { store } from './store' // 引入vuex axios.interceptors.request.use( config => { config.cancelToken = new axios.CancelToken(function (cancel) { store.commit('pushToken', {cancelToken: cancel}) }) return config } )   第二步:   利用vuex,新建一个store.js,将取消方法

vue路由和window路由问题

元气小坏坏 提交于 2020-01-16 05:22:28
1、vue路由原理:vue路由有两中模式,一种是hash,一种是history,通过mode进行设置,hash会链接上会带#号,history是正常链接   hash: 利用url中的hash值进行页面的切换,实际不会请求后台接口,只改变hash值,通过hashchange监听hash值的变化,进行事件程序处理,包含向window.history内添加纪录,以便实现返回等操作。   history: 利用html5提供的api,pushState和replaceState,这两个api可以改变url地址,但是不会发送请求。还有popstate,实现原理和hash相似,但是当用户主动刷新页面时还是会重新发送请求,所以这个需要后端人员把路由重定向到根页面。  详情参考: https://www.cnblogs.com/tiedaweishao/p/9144531.html  所以在实际vue应用中,本地的路由并不是线上真实的链接地址,$route/$router都是本地vue配置的路由对象,操作的不是线上链接。要操作链接还是需要使用window.location对象内部的属性。 来源: https://www.cnblogs.com/muzs/p/10735924.html

vue 监听路由变化

北慕城南 提交于 2020-01-16 04:29:32
一、 // 监听,当路由发生变化的时候执行 watch:{ $route(to,from){ console.log(to.path); } }, // // 或监听,当路由发生变化的时候执行 watch: { $route: { handler: function(val, oldVal){ console.log(val); }, // 深度观察监听 deep: true } }, //或监听,当路由发生变化的时候执行 watch: { '$route':'getPath' }, methods: { getPath(){ console.log(this.$route.path); } } 二、 //key是用来阻止“复用”的。 <router-view :key="key"></router-view> computed: { key() { return this.$route.name !== undefined? this.$route.name +new Date(): this.$route +new Date() } } //注:使用computed属性和Date()可以保证每一次的key都是不同的,这样就可以如愿刷新数据了。 三、通过 vue-router 的钩子函数 beforeRouteEnter beforeRouteUpdate

vue-router路由表初始化

ⅰ亾dé卋堺 提交于 2020-01-16 01:53:14
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const createRouter = () => new Router({ mode: 'history', routes: [] }) const router = createRouter() export function resetRouter () { // reset路由表 const newRouter = createRouter() router.matcher = newRouter.matcher // the relevant part } export default router 原理就是生成一个新的路由对象,将现有的路由对象中的matcher替换掉,初始化之后就可以继续使用addRoutes添加路由对象了 来源: CSDN 作者: 强身健体,清神醒脑 链接: https://blog.csdn.net/weixin_43660626/article/details/103987465