vue,一路走来(2)--路由vue-router】的更多相关文章

2016年12月--2017年5月,接触前端框架vue,一路走来,觉得有必要把遇到的问题记录下来. 那时,vux用的是1.0的vue,然而vue2.0已经出来了,于是我结合了mint-ui一起来做项目,这过程中很感谢认识的以及不认识的小伙伴为我解决项目中遇到的问题. 用webpack构建vue项目 1.需要安装node环境.(直接网上找下载就好) 2.在你想要新建项目的路径下新建文件夹,用于存放项目文件,然后shift+右键,选择‘在此处打开命令窗口’,按以下命令操作 本人建议将 npm 的注册…
vue微信分享 今天记录一下vue微信分享. 1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.这个不多说,见文档,只有绑定了才能进行下一步的动作 2.需要引入js文件   import wx from 'weixin-js-sdk' 3.通过config接口注入权限验证配置,所有需要使用JS-SDK的页面必须先注入配置信息 配置信息需要后端返回 share(){ if(this.hdusers!=[]){ this.$http.post(this._getUrl…
安装 Mint UI cnpm install mint-ui --save 如果你的项目会用到 Mint UI 里较多的组件,最简单的方法就是把它们全部引入.此时需要在入口文件 main.js 中: 自己觉得mint-ui的文件介绍不是很详细,简单介绍一下我遇到的问题吧! 1.Swipe 轮播图:记得一定要给个高度 <!--轮播图--> <div class="page-swipe"> <mt-swipe :auto=" :show-indic…
今天描述的问题估计会有很多人也遇到过. vue-router多个路由地址绑定一个组件造成created不执行 也就是文档描述的,如下图 我的解决方案: created () { console.log(this.getStatus(this.$route.path)) this.userpath() //我要执行的函数 }, methods: { getStatus (urlStr) { var urlStrArr = urlStr.split('/') ] } }, watch: { '$ro…
最近朋友问如何在vue项目中使用scss样式,想起之前项目是直接在main.js直接import css文件的,然而main.js不可以直接import scss文件. import './assets/css.css' src/assets/scss.scss $border-color:#c58f5d; .box{ width:100px; height: 100px; border:1px solid #f40; } 第一步:安装依赖 cnpm install node-sass --sa…
闲暇时间记录一下如何绑定域名,实现本地及手机调试的过程.我的是微信开发项目,很多功能及操作都是基于微信来开发的,理所当然的就用到微信开发者工具了. 1.首先打开目录C:\Windows\System32\drivers\etc,找到hosts文件,用sublime打开 2.接下来将自己的vue项目 cnpm run dev 就可以了.这样就可以直接用这个域名访问到本地的项目. 3.下载微信小程序0.7.0版本 可以看到这个页面,将手机设置一下手动wifi配置完就可以了.…
今天想起一直没有记录父组件与子组件的传参问题,这在项目中一直用到. 父向子组件传参 Index.vue父组件中 <component-a :msgfromfa="(positionnow)"></component-a> import componentA from './components/componentA' export default{ name:'Index', data(){ return{ positionnow:'' } } } compon…
HTML5 History模式 项目中我用的是history模式. 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面. const router = new VueRouter({ mode: 'history', routes: [...] }) 当你…
微信支付 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 分享一下vue实现微信支付.在微信浏览器里面打开H5网页中执行JS调起支付.接口输入输出数据格式为JSON.注意:WeixinJSBridge内置对象在其他浏览器中无效. 注意:在微信支付后台正确配置授权目录后,如果还是出现当前页面的URL未注册,查看http://www.kejik.com/article/152868.html 同时下载以下文件放…
微信登录 今天又是周末了,想着博客还没记录完成.是的,下面记录一下微信登录遇到的问题. 在我的项目中,个人中心是需要完成授权登录才可以访问的,首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录.如果用户已经登录,则顺利进入路由,否则就进入登录页面. 定义完路由后,我们主要是利用vue-router提供的钩子函数beforeEach()对路由进行判断.写在路由router.config.js文件里 每个钩子方法接收三个参数: * to: Rout…
所有的静态页面布局完成后,最重要的就是数据交互了,简单来说,vue-resource就像jquery里的$.ajax,用来和后台交互数据的.放在created或ready里运行来获取或者更新数据的.不过,vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios(可自行去了解).但我在项目中用的是vue-resource,下面就来讲一下过程中遇到的问题吧! vue-resource(数据交互) 1.先安装 cnpm install vue-resource --s…
<router-link></router-link>存在router-link-active属性,那么底部tabbar切换就简单多了.不会再出现刷新回到第一个的bug. <div class="tabbar"> <footer class="footer"> <router-link to='/Wechat' tag='li' class="footer__li--1"></ro…
今天记录一下简单的投票系统,主要实现选中至少五张作品,并提交投票. 思路:选中作品,将作品id存入到数组里. 取消投票,则从数组中移除该作品id. 如图效果: <li v-for="(opu,index) in opus"> <router-link :to="{ name: 'voteDetail', params: { id: opu.id }}" :id="opu.id"> <div class="o…
由于项目的扩展,新增了很多功能,今天谈一下短信验证码框的实现. 思路:每个小方框其实就是单独的每一个input标签(叫假input标签),每个长度为1,然后上面再写一个大的input标签(叫真实input标签),提高层级定位在上方,最大长度为6,然后将上方真实input标签的值传给每一个单独的假input标签. <div class="phonenum-show"> <div class="getback-title">收回剩余礼金 <…
生产环境下的一些问题 使用webpack 打包前端应用后,图片和css.js 资源引用会出问题,这源于开发环境的目录和生产环境的路径[url]不同 比如,开发环境的url是:http://localhost:8080/static/img/122.png 而生产环境的url是:http://www.xxx.com/dist/static/img/122.png 二者区别,开发环境是放在域名的根目录,所以不存在引用路径变化的问题.如果生产环境不做处理的话,图片等静态文件会自动在相对路径前添加域名.…
闲暇时间,介绍一下我做一个聊天窗口的心得.如图: 首先要考虑的是得判断出是自己的信息还是对方发来的信息,给出如图的布局,切换不同的类. <li class="clearfix" v-for="(talk,index) in talks" v-bind:class="{'even':othername!=talk.send_from_id,'odd':othername==talk.send_from_id}"> <span v-…
Mint-ui的复选框列表Checklist和Radio 由于我在main.js里已经引用了全部的组件了,这里就不再按需引入了. 一直想着如何将自己的数据添加到 label 和 value里面,后面发现可以用push的方式,如下图: <mt-checklist    title="" align="right"    v-model="bankList"    :options="bankoptions"> <…
补充 调用外部js,详细介绍如何调用函数. 1.首先在main.js里引用文件 2.然后算是和jquery框架一样需要所谓的入口函数吧 不过令我烦恼的是,在应用的文件中需要把他包含在另一个函数里,才可以调用到.看了别人的例子好像也是这么用的.暂时就先这样了. vuex 想着底部导航块有些页面并不需要呈现出来,后面看到一个案例,用了vuex的分发dispatch 安装:npm install vuex --save http://blog.csdn.net/sinat_17775997/artic…
1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Router支持3种路由模式: ◊ hash:使用URL hash值作为路由 ◊ history:依赖HTML5 History API和服务器配置 ◊ abstract:支持所有JavaScript运行环境,如node服务器端.如果发现没有浏览器的API,路由就会强制进入该模式. vue-router提供…
小结 router-link可以随便放 router-view显示的是父组件的直接子组件的内容 想研究下移动三级路由的逻辑, 即 router-link和router-view 点首页--点新闻资讯(新闻资讯列表)--点某一条新闻--新闻详情 有点迷糊了. 为何router可以这样. 简单模拟效果 app01 home wenxue lishi about app01 home wenxue lishi about 点首页显示app01的内容 点home显示home组件的内容(追加: 因为hom…
一.前言 在上一章的学习中,我们简单介绍了前端路由的概念,以及如何在 Vue 中通过使用 Vue Router 来实现我们的前端路由.但是在实际使用中,我们经常会遇到路由传参.或者一个页面是由多个组件组成的情况.本章,我们就来介绍下在这两种情况下 Vue Router 的使用方法以及一些可能涉及到的概念. 学习系列目录地址:https://www.cnblogs.com/danvic712/p/9549100.html 仓储地址:https://github.com/Lanesra712/Vue…
菜单快捷导航: vue项目创建 vue路由router知识点(路径参数.查询参数.命名路由.嵌套路由.命名视图.hash/history模式) 1.创建一个vue项目步骤 (windows环境下).创建vue项目前,检查系统是否具备创建项目的条件(是否已经安装好了node.js.webpack.vue-cli).cmd打开终端. 1.1 如果还没安装node.js, 则先安装node.js ,安装完成后,查看node版本 node -v 1.2 安装淘宝镜像, 安装完成后查看npm版本:npm…
手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com/),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元 route-link是在html中静态定义的,也可以在代码中动态跳转: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>abc</title> &…
一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码把[HTML.css和javascript]封装到一个文件的模式,我们成为“组件”. 组件有两种:默认组件[全局组件] 和 单文件组件 1.1.1 默认组件 <div id="app"> <addnum></addnum> <addnum>&…
Vue中使用children实现路由的嵌套 相关Html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv=&…
上次我们学习了Vue.js的基础,并且通过综合的小实例进一步的熟悉了Vue.js的基础应用.今天我们就继续讲讲Vue.js的组件,更加深入的了解Vue,js的使用.首先我们先了解一下什么是Vue.js的组件,组件其实就是页面组成的一部分,它是一个具有独立的逻辑和功能或页面,组件可以扩展 HTML 元素,封装可重用的代码.组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树,如下图: 接下来我们就仔细讲讲组件的使用吧. 1 全局组件 以下就是我们注册…
1.组件 组件就是可以扩展HTML元素,封装可重用的HTML代码,可以将组件看作自定义的HTML元素 1.1组件注册 全局注册: 组件注册时,需要给他一个名字,如下: Vue.component('my-component-name', { /* ... */ }) # 组件名使用kebab-case (短横线分隔命名)定义时,引用这个元素时使用 <my-component-name> # 组件名使用 PascalCase (驼峰式命名) 定义时,引用这个元素时使用<my-compone…
全局守卫 你可以使用 router.beforeEach 注册一个全局前置守卫: const router = new VueRouter({ ... })   router.beforeEach((to, from, next) => { // ... }) 当一个导航触发时,全局前置守卫按照创建顺序调用.守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中. 每个守卫方法接收三个参数: to: Route: 即将要进入的目标 路由对象 from: Route: 当前…
一.前言 当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了.结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载. Vue 的异步组件 webpack代码分割 建议首先熟读这两个知识点,会更容易理解懒加载的原理.本文的源码地址在-->lazyLoad,如果对你有帮助,欢迎star(・ε・●) 二.实战 话不多说,我们来一步步实践一下路由懒加…