攻克vue路由
先下手
路由是个好功能,但是每次都感觉没法开始下手,愣愣的看半天官方文档,所以做个快速开始教程。
首先先搭好HTML文件结构:
<!--link和view在一个父元素下-->
<div id="aside">
<ul>
<!--这里是锚链接-->
<li>
<router-link to='/fn1'>111</router-link>
</li>
<li>
<router-link to='/fn2'>222</router-link>
</li>
</ul>
<div id="content">
<!--这里是路由渲染视图-->
<router-view></router-view>
</div>
</div>
然后开始配置JS文件:
//生成一个路由实例
const router = new VueRouter({
//路径配置
routes: [
{ path: '/fn1', component: { template: '<div>111</div>' } },
{ path: '/fn2', component: { template: '<div>222</div>' } }
]
});
//挂载到对应DOM节点 并传入路由
new Vue({
el: '#aside',
router,
})
很好,一个简陋的路由搭建完成。
前面的都是胡扯,现在开始正常紧急回顾教程!
首先来个主线任务。
router => .vue => webpack,大概就是这么个样子,vue路由配合.vue单文件组件,单文件组件需要webpack进行loader处理。
所以头疼啊,开始一步一步写。
服务器配置不需要改,主要是入口JS需要进行处理。
首先是main.js,包含vue实例挂载和路由映射配置,反正先暂时写到一起。
//引入一个简单的vue组件
import v from '../vue/index.vue'; //生成一个路由实例
const router = new VueRouter({
//路径配置
routes: [
{ path: '/fn1', component: v },
{ path: '/fn2', component: { template: '<div>222</div>' } }
]
}); //挂载到对应DOM节点 并传入路由
new Vue({
el: "#box",
router
});
这里面无论是import还是vue组件都是无法识别的,必须要通过babel转。
这里放上webpack的配置。
var path = require('path');
var webpack = require('webpack');
module.exports = {
//入口文件为刚才的main.js
entry: './static/js/main.js',
//随便找个地方输出
output: {
path: path.resolve(__dirname, './static'),
publicPath: '/static/',
filename: 'main.js'
},
module: {
rules: [
//处理vue单文件
{
test: /\.vue$/,
loader: 'vue-loader'
},
//处理import等语法
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
//暂时用不到
{
test: /\.css$/,
loader: 'style-loader!css-loader'
}
]
},
//路径简化
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js',
'vue-router$': 'vue-router/dist/vue-router.common.js',
}
},
// devtool: '#eval-source-map'
}
大部分是从以前的配置中抄过来的,有些暂时用不上,主要核心内容是babel-loader和vue-loader,并配置相关的入口出口文件。
vue文件随便写的
<template>
<h1>Hello World</h1>
</template>
在目录输入webpack指令后,会生成一个js文件,直接引用,可以看到成功了!
Hello World
(懒得截图了,反正成功了就是)
攻克vue路由的更多相关文章
- Vue路由vue-router
前面的话 在Web开发中,路由是指根据URL分配到对应的处理程序.对于大多数单页面应用,都推荐使用官方支持的vue-router.Vue-router通过管理URL,实现URL和组件的对应,以及通过U ...
- Vue路由学习心得
GoodBoy and GoodGirl~进来了就看完点个赞再离开,写了这么多也不容易的~ 一.介绍 1.概念:路由其实就是指向的意思,当我们点击home按钮时,页面中就要显示home的内容,点击l ...
- VUE路由新页面打开的方法总结
平常做单页面的场景比较多,所以大部分的业务是在同一个页面进行跳转.要通过VUE路由使用新页面打开且传递参数,可以采用以下两个方法: 1.router-link的target <router-li ...
- vue路由参数变化刷新数据
当路由到某个组件时,由于组件会复用,所以生命周期函数不会再次执行, 如果这个组件是模板组件,靠传入不同数据来显示的.那么,可能会发生参数变化了但页面数据却不变化. 问题 假如有个组件 info.vue ...
- 10.3 Vue 路由系统
Vue 路由系统 简单示例 main.js import Vue from 'vue' import App from './App.vue' //https://router.vuejs.or ...
- vue路由原理剖析
单页面应用(SPA)的核心之一是: 更新视图而不重新请求页面, 实现这一点主要是两种方式: 1.Hash: 通过改变hash值 2.History: 利用history对象新特性(详情可出门左拐见: ...
- 3种vue路由传参的基本模式
路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...
- 14.vue路由&脚手架
一.vue路由:https://router.vuejs.org/zh/ 1.定义 let router = new VueRouter({ mode:"history/hash" ...
- react router @4 和 vue路由 详解(八)vue路由守卫
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据 ...
随机推荐
- Akka(26): Stream:异常处理-Exception handling
akka-stream是基于Actor模式的,所以也继承了Actor模式的“坚韧性(resilient)”特点,在任何异常情况下都有某种整体统一的异常处理策略和具体实施方式.在akka-stream的 ...
- (二)Java数组特性总结,你真的了解数组吗?
一.数组的特殊性 (一)数组标识符是一个引用,指向堆中创建的一个真实对象,这个对象(数组)保存了指向保存其他对象的引用. (二)数组中保存引用类型时保存的是对象引用,基本数据类型数组保存基本数据的值. ...
- 开天辟地-用visualstudio2010编写helloworld
安装好visual之后,创建新项目 向源文件添加helloworld.cpp 编写helloworld代码,编译运行即可 在运行时候出现一个错误,错误和解决方法如下:
- 【京东详情页】——原生js爬坑之放大镜
一.引言 在商城的详情页中,放大镜的功能是很常见的.这里京东详情页就要做一个仿放大镜的效果,预览如下: 二.实现原理 实际上,放大镜的实现是单纯用几个div,鼠标移入其中一个小图div,触发事件显示另 ...
- Tree--RedBlackTree详解(2 - 3 - 4Tree)(红黑树)
#topics h2 { background: #2B6695; color: #FFFFFF; font-family: "微软雅黑", "宋体", &qu ...
- 解决外部编辑器修改Eclipse文件延迟刷新【补充】
在之前的文章,使用gulp解决外部编辑器修改Eclipse文件延迟刷新,原理是用gulp把更改过的项目文件直接复制一份到Tomcat的webapp.root下, 现在补充另外一种方法,双击Server ...
- Hive内置数据类型
Hive的内置数据类型可以分为两大类:(1).基础数据类型:(2).复杂数据类型.其中,基础数据类型包括:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBL ...
- 运行Chromium浏览器缺少google api密钥无法登录谷歌账号的解决办法
管理员身份运行CMD,然后依次输入以下三行内容: setx GOOGLE_API_KEY "AIzaSyAUoSnO_8k-3D4-fOp-CFopA_NQAkoVCLw"setx ...
- Linux Bash Shell字符串截取
#!/bin/bash#定义变量赋值时等号两边不能有空格,否则会报命令不存在 # 运行shell脚本两种方式 # 1.作为解释参数 /bin/sh test.sh ; 2.作为可执行文件 chmo ...
- Distribute Candies
Given an integer array with even length, where different numbers in this array represent different k ...