vue路由

vue-router 简介

笑着哭i 提交于 2020-02-22 00:54:07
3.Vue Router简介 它是一个Vue.js官方提供的路由管理器。是一个功能更加强大的前端路由器,推荐使用。 Vue Router和Vue.js非常契合,可以一起方便的实现SPA(single page web application,单页应用程序)应用程序的开发。 Vue Router依赖于Vue,所以需要先引入Vue,再引入Vue Router Vue Router的特性: 支持H5历史模式或者hash模式 支持嵌套路由 支持路由参数 支持编程式路由 支持命名路由 支持路由导航守卫 支持路由过渡动画特效 支持路由懒加载 支持路由滚动行为 来源: CSDN 作者: weixin_小白菜 链接: https://blog.csdn.net/weixin_45677987/article/details/104435489

vue路由-编程式导航

…衆ロ難τιáo~ 提交于 2020-02-21 01:52:47
除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。 router.push(location, onComplete?, onAbort?) 注意:在 Vue 实例内部,你可以通过 $router 访问路由实例。因此你可以调用 this.$router.push 。 想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。 当你点击 <router-link> 时,这个方法会在内部调用,所以说,点击 <router-link :to="..."> 等同于调用 router.push(...) 。 声明式 编程式 <router-link :to="..."> router.push(...) 声明式 编程式 <router-link :to="..."> router.push(...) 该方法的参数可以是一个字符串路径,或者一个描述地址的对象。例如: // 字符串 router.push('home') // 对象 router.push({ path: 'home' }) // 命名的路由 router.push({ name: 'user', params: { userId: 123

vue router 路由

笑着哭i 提交于 2020-02-17 19:48:55
vue router 路由 什么是前端渲染,什么是后端渲染 后端路由 由后端服务器html+css+java动态绑定数据并渲染好一个页面,直接发送到前端。 优点是有利于seo优化,缺点html和数据逻辑混在一起,难以维护 前后端分离 随着Ajax出现,后端只负责数据,前端去静态服务器请求html+css+js,然后调用api接口再进行数据处理进行渲染 前端路由SPA阶段 在前后端分离的基础上加了一层前端路由。 前端去静态服务器请求html+css+js(全部资源),资源分成多个组件,点击一个url显示一个组件,页面进行不整体刷新。 前端路由的作用就是管理url和对应组件的映射关系 前端路由规则 URL的hash URL的hash也就是锚点(#), 本质上是改变window.location的href属性. location.hash = 'aaa' HTML5中history模式: 1. pushState 把url push进去,类似栈结构,遵循先入后出 history.pushState({},'','home') 2. back 返回前一页面 history.back() 3. forward 前进下一页面 history.forward() 4. replaceState 替换url,不会保留历史记录 history.replaceState({},'','home') 5

vue的路由守卫

心已入冬 提交于 2020-02-14 12:12:44
vue的路由守卫 vue路由守卫实现代码 router.beforeEach((to,from,next)=>{ if(to.path == '/login'){ next(); }else{ alert('您还没有登录,请先登录'); next('/login'); } }) 各参数含义 1.to 表示将要跳转到的组件 2.from原组件 3.next()进入到下一个组件的钩子函数 4.next(/login)进入指定的组件的钩子函数 来源: CSDN 作者: 曹豆芽 链接: https://blog.csdn.net/qq_41108972/article/details/104307275

vue项目、路由

风流意气都作罢 提交于 2020-02-14 04:12:21
目录 Vue项目创建 pycharm配置并启动vue项目 vue项目目录结构分析 js原型补充 vue项目生命周期 页面组件 配置自定义全局样式 路由逻辑跳转 路由重定向 组件的生命周期钩子 路由传参 Vue项目创建 1) 进入存放项目的目录 >: cd vue_project 2) 创建项目 >: vue create v-proj 3) 项目初始化 输入 npm run serve 初始化项目 pycharm配置并启动vue项目 1) 用pycharm打开vue项目 2) 添加配置npm启动 vue项目目录结构分析 ├── v-proj | ├── node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境 | ├── public | | ├── favicon.ico // 标签图标 | | └── index.html // 当前项目唯一的页面 | ├── src | | ├── assets // 静态资源img、css、js | | ├── components // 小组件 | | ├── views // 页面组件 | | ├── App.vue // 根组件 | | ├── main.js // 全局脚本文件(项目的入口) | | ├── router | | | └── index.js// 路由脚本文件(配置路由 url链接 与

vue项目及插件

北战南征 提交于 2020-02-14 04:07:07
vue项目的创建 方法1: cmd中执行 vue ui vue会创建一个socket,方便快捷 方法2: 命令行建立 vue create v-proj //创建项目名为v-proj的项目文件 >>>default (bable,eslint) //默认 manually select features //自定义 (*)bable //把es6语法解析为es5语法(防止沙雕浏览器无法解析es6) TypeScript //js编程还是ts编程 Progressive Web App(PWA) Support //前端优化组件,需要大量配置 (*)Router //前台路由 (*)Vuex //仓库 ,相当于全局的单例,每次页面刷新,重新加载仓库,为移动端准备,因为移动端不刷新 CSS Pre-processors //css预编译器 less sass两个语法来进行css逻辑编译时,先将他们预编译为css语法 Linter/Formatter //格式化代码,只有按照这个标准书写才不会报错 Unit Testing // 测试 E2E Testing // 测试 >>> Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) Y /

前端Vue框架 03 计算属性computed 监听属性watch 项目环境 项目开发

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-14 02:01:05
字符串补充 """ 1)双引号: "前缀" + 变量 + "后缀" 2)单引号: '前缀' + 变量 + '后缀' 3)反引号: `前缀${变量}后缀` 注:在反引号中可以用 ${} 来包裹变量,实现字符串拼接 """ 实例成员:计算属性 """ /** 计算属性: * 1)其实就是vue中的方法属性,方法名可以作为属性来使用,属性值为方法的返回值 * 2)在computed中声明的方法属性,不能在data中重复声明,比data中声明的属性要多出写逻辑的地方 * 3)方法属性,自带监听机制,在方法属性中出现的变量,都会被监听,一旦有任何被监听的变量值发生更新, * 方法属性都会被调用更新方法属性的值 * 4)方法属性一定要在页面中渲染一次,方法属性采用意义,多次渲染,方法属性只会被调用一次 * 案例:计算器 * 方法属性的应用场景:一个变量依赖于多个变量,且需要进行一定的逻辑运算 */ """ <div id="app"> <!-- type="number"表示只能写数字 --> <input type="number" v-model="num1" max="100" min="0"> + <input type="number" v-model="num2" max="100" min="0"> = <button>{{ sum }}</button> </div>

vue param和query两种传参方式

本小妞迷上赌 提交于 2020-02-09 12:39:24
效果展示: ============================================================================ 应写成下图这种形式: :id为占位 现在是通过什么路径向路由组件传递数据的? 通过请求参数${message.id}传递的 请求参数有两种: 1).Param 2).Query (?后面,类似于get) =============================================================================================================================== vue param和query两种传参方式 1、传参方式   query传参方式 this.$router.push({ path: "/home", query: {code:"123"} })      param传参方式 this.$router.puth({ name: "/home", param: {code: "123"} }) 2、取值   获取query传参的方式 this.$route.query.code //123   获取param 传参的方式 this.$route.param.code //123 3、浏览器的路由展示情况  

vue --》路由query 编程式导航传值与监听

99封情书 提交于 2020-02-09 09:20:15
1.首先在一个页面设置一个按钮,用于路由跳转 <template> <div> <button @click="handleToRouter">路由传值</button> </div> </template> <script> export default { components:{ }, data() { return { } }, methods: { handleToRouter(){ this.$router.push({ path:"/d", //跳转的路径 query:{n:"我是a",b:"我是b"} //传递的值 }) } }, } </script>   2。在另一个页面接受路由传递的值,并可以通过 $router 监听值的变化 <template> <div> </div> </template> <script> export default { watch: { //监听路由 $route(val){ console.log(val,"333333333333333") }, }, data() { return { routerVal: this.$route.query } }, mounted () { console.log(this.routerVal); }, } </script> 来源: https://www.cnblogs.com

vue param和query两种传参方式

落爺英雄遲暮 提交于 2020-02-08 16:25:11
效果展示: ============================================================================ 应写成下图这种形式: :id为占位 现在是通过什么路径向路由组件传递数据的? 通过请求参数${message.id}传递的 请求参数有两种: 1).Param 2).Query (?后面,类似于get) =============================================================================================================================== vue param和query两种传参方式 1、传参方式   query传参方式 this.$router.push({ path: "/home", query: {code:"123"} })      param传参方式 this.$router.puth({ name: "/home", param: {code: "123"} }) 2、取值   获取query传参的方式 this.$route.query.code //123   获取param 传参的方式 this.$route.param.code //123 3、浏览器的路由展示情况