
Vue
书院二层楼
这个作者很懒,什么都没留下…
展开
-
axios请求拦截和响应拦截
import axios from 'axios';import store from '../store';import router from '../router';import Vue from 'vue';//设置过期时间axios.defaults.timeout = 6000;//请求拦截axios.interceptors.request.use((config)=>{ //给请求添加token if(store.state.token){ .原创 2020-10-10 17:37:45 · 595 阅读 · 1 评论 -
vuex Module将 store 分割成模块
由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:const moduleA = { state: () => ({ ... }), mutations: { ... }, actions: { ... },原创 2020-10-09 09:18:25 · 506 阅读 · 0 评论 -
vuex mapActions使用案例解析
store/index.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({ state: { msg:"Hello Vuex!", name:"cxj", age:18, hobby:"美女" }, getters: { tenYearsOld(state){ return state.age + 1原创 2020-10-09 09:18:35 · 2027 阅读 · 0 评论 -
vuex mapMutations使用案例解析
store/index.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({ state: { msg:"Hello Vuex!", name:"cxj", age:18, hobby:"美女" }, getters: { tenYearsOld(state){ return state.age + 1原创 2020-10-09 09:18:56 · 542 阅读 · 0 评论 -
vuex-mapGetters使用案例解析
store/index.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({ state: { msg:"Hello Vuex!", name:"cxj", age:18, hobby:"美女" }, getters: { tenYearsOld(state){ return state.age + 1原创 2020-10-09 09:19:05 · 3059 阅读 · 0 评论 -
vuex中的mapState使用案例(对比data和计算属性)
store/index.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({ state: { msg:"Hello Vuex!", name:"cxj", age:18, hobby:"美女" }, mutations: { }, actions: { }, modules: { }})App原创 2020-10-09 09:19:25 · 1541 阅读 · 0 评论 -
Vue EventBus事件侦听($on、$emit、$off、$once)
eventBus.jsimport Vue from 'vue';export const EventBus = new Vue();components/Parent.vue<template> <div> 我是父组件 <Son></Son> </div></template><script>/*vm.$on( event, callback )原创 2020-10-09 09:19:15 · 8491 阅读 · 3 评论 -
Vue组件通信09-多层级组件通信(爷爷到孙子-传方法)-$listener
components/Parent.vue<template> <div> 我是父组件 <br> 这里显示父级的msg:{{msg}} <Son :msg="msg" @changeMsg="changeMsg"></Son> </div></template><script>/*$listeners:包含了父作用域原创 2020-10-08 16:04:33 · 1094 阅读 · 0 评论 -
Vue $attrs & inheritAttr实现button禁用效果
components/Button.vue<template> <div> <button :disabled="$attrs.disabled">点击</button> </div></template><script> export default { inheritAttrs: false, }</script><s原创 2020-10-08 15:32:07 · 260 阅读 · 0 评论 -
Vue组件通信08-多层级组件通信(爷爷到孙子-传属性值)-$attrs & inheritAttr
components/Parent.vue<template> <div> 我是父组件 <br> 这里显示父级的msg:{{msg}} <Son :title="title"></Son> </div></template><script>/*$attrs:包含了父作用域中不作为 prop 被识别 (且获取) 的 a原创 2020-10-08 15:19:56 · 731 阅读 · 0 评论 -
Vue组件通信07-多层级组件通信(爷爷到孙子-传爷爷组件,以便孙子操作爷爷)-provide&inject
components/Parent.vue<template> <div> 我是父组件 <br> 这里显示父级的msg:{{msg}} <Son></Son> </div></template><script>/*provide 、inject只能父级给子孙后代传递参数,而不知道子孙后代到底有多少,子孙后代怎么操作父级原创 2020-10-08 12:13:30 · 2104 阅读 · 2 评论 -
Vue组件通信06-多层级组件通信(爷爷到孙子-传值)-provide&inject
components/Parent.vue<template> <div> 我是父组件 <Son></Son> </div></template><script>/*provide:Object | () => Objectinject:Array<string> | { [key: string]: string | Symbol | Ob原创 2020-10-08 11:44:35 · 1232 阅读 · 0 评论 -
Vue组件通信05-父子组件通信(子到父)-$parent
App.vue<template> <div id="app"> <Parent></Parent> </div></template><script>import Parent from './components/Parent'export default { name: 'App', components: { Parent }}</script>原创 2020-10-08 10:53:28 · 498 阅读 · 0 评论 -
Vue组件通信04-父子组件通信(子道父)-$emit
App.vue<template> <div id="app"> <Parent></Parent> </div></template><script>import Parent from './components/Parent'export default { name: 'App', components: { Parent }}</script>原创 2020-10-08 10:44:37 · 455 阅读 · 0 评论 -
Vue组件通信03-父子组件通信(父到子)-$refs
App.vue<template> <div id="app"> <Parent></Parent> </div></template><script>import Parent from './components/Parent'export default { name: 'App', components: { Parent }}</script>原创 2020-10-08 10:30:49 · 192 阅读 · 0 评论 -
Vue组件通信02-父子组件通信(父到子)-$children
App.vue<template> <div id="app"> <Parent></Parent> </div></template><script>import Parent from './components/Parent'export default { name: 'App', components: { Parent }}</script>原创 2020-10-08 10:24:27 · 258 阅读 · 0 评论 -
Vue组件通信01-父子组件通信(父到子)-props
App.vue<template> <div id="app"> <Parent></Parent> </div></template><script>import Parent from './components/Parent'export default { name: 'App', components: { Parent }}</script>原创 2020-10-08 10:14:39 · 139 阅读 · 0 评论 -
vue-router实战练习
效果截图:代码目录:github链接:https://github.com/caoxinjian423/practice-vue-router原创 2020-10-07 21:10:05 · 362 阅读 · 0 评论 -
vue-router导航守卫(全局前置守卫、全局后置钩子、路由独享的守卫、组件内的守卫、导航守卫整体流程)
全局前置守卫你可以使用 router.beforeEach 注册一个全局前置守卫:const router = new VueRouter({ ... })router.beforeEach((to, from, next) => { // ...})当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中。每个守卫方法接收三个参数:to: 即将要进入的目标 路由对象from: 当前导航正要离开的.原创 2020-10-07 19:43:31 · 1771 阅读 · 0 评论 -
vue-rouuter编程式导航$router
App.vue<template> <div id="app"> <div id="nav"> <router-link :to="{name:'Home'}">Home</router-link> | <router-link to="/about">About</router-link> <button @click="handelJsNavigation" v原创 2020-10-07 19:16:57 · 234 阅读 · 0 评论 -
vue-router的路由导航router-link
App.vue<template> <div id="app"> <div id="nav"> <!-- router-link应用于路由导航,相对于a标签,router-link可以在单页面跳转,体验更好 router-link的to参数可以接收字符串(path,不需要:进行属性绑定),也可以接收一个对象(命名路由,需要:进行属性绑定), 里面的name参数为要跳转到路由的名字原创 2020-10-07 18:53:48 · 539 阅读 · 0 评论 -
vue-router定义元信息meta
router/index.jsimport Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import Test from '../views/Test.vue'import NotFound from '../views/NotFound.vue'import TestChild from '../views/TestChild.vue'import AView fr原创 2020-10-07 17:39:32 · 970 阅读 · 0 评论 -
vue-router 路由别名alias
import Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import NotFound from '../views/NotFound.vue'import AView from '../views/AView.vue'import BView from '../views/BView.vue'Vue.use(VueRouter)const routes = [.原创 2020-10-07 15:46:05 · 2519 阅读 · 0 评论 -
vue-router重定向redirect
import Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import NotFound from '../views/NotFound.vue'import AView from '../views/AView.vue'import BView from '../views/BView.vue'Vue.use(VueRouter)const routes = [.原创 2020-10-07 15:39:41 · 1108 阅读 · 0 评论 -
vue-router 命名视图router name
router/index.jsimport Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import Test from '../views/Test.vue'import NotFound from '../views/NotFound.vue'import TestChild from '../views/TestChild.vue'import AView fr原创 2020-10-06 22:06:17 · 432 阅读 · 0 评论 -
vue-router嵌套路由|父子路由
router/index.jsimport Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import Test from '../views/Test.vue'import NotFound from '../views/NotFound.vue'import TestChild from '../views/TestChild.vue'Vue.use(VueRou原创 2020-10-06 22:06:54 · 1889 阅读 · 0 评论 -
vue-router 动态路由-props获取参数
router/index.jsimport Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import Test from '../views/Test.vue'import NotFound from '../views/NotFound.vue';Vue.use(VueRouter)const routes = [ { path: '/',原创 2020-10-06 21:01:02 · 2075 阅读 · 0 评论 -
vue-router捕获404 not found
router/index.jsimport Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import Test from '../views/Test.vue'import NotFound from '../views/NotFound.vue';Vue.use(VueRouter)const routes = [ { path: '/',原创 2020-10-06 20:49:36 · 2151 阅读 · 0 评论 -
vue-router 动态路由/xxx/:id-$route.params.id
router/index.jsimport Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'import Test from '../views/Test.vue';Vue.use(VueRouter)const routes = [ { path: '/', name: 'Home', component: Home }, {原创 2020-10-06 20:41:43 · 4803 阅读 · 1 评论 -
vue-router mode模式:hash&&history
import Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'Vue.use(VueRouter)const routes = [ { path: '/', name: 'Home', component: Home }, { path: '/about', name: 'About', component: () .原创 2020-10-06 20:14:28 · 2703 阅读 · 3 评论 -
vue-router &&SPA(单页面应用)
import Vue from 'vue'import VueRouter from 'vue-router'import Home from '../views/Home.vue'Vue.use(VueRouter)/* SPA:单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML页面并在用户与应用程序交互时动态更新 该页面的Web应用程序,即更新视图而不重新请求页面。带给用户更好的体验。 vue-.原创 2020-10-06 20:08:48 · 304 阅读 · 0 评论 -
Vue 上传图片实战
1、main.jsimport ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';import "./assets/login.css"import "./assets/photo.css"import Vue from 'vue'import App from './App.vue'Vue.config.productionTip = falseVue.use(ElementUI);原创 2020-10-06 17:02:49 · 321 阅读 · 1 评论 -
vue-cli 跨域问题代理解决方案:devServer配置
背景:在我们使用Vue直接请求后端时,通常会报跨域问题,如下图:要解决这个问题,方案有很多种,最简单的莫过于vue-cli的devServer配置。devServer配置在vue项目下创建vue.config.js文件,如下图:在vue.config.js中写入devServer配置,例如:module.exports = { devServer: { proxy: { "/api": { target: "http:原创 2020-10-04 16:34:29 · 1634 阅读 · 0 评论 -
Vue 单文件组件环境配置、开发和运行
配置环境安装@vue/clinpm install -g @vue/cli检查vue/cli版本vue --version安装vue serve以便使用vue.server和vue.build对*.vue文件进行编译npm install -g @vue/cli-service-global运行vue单文件新建一个test.vue.vue文件,称为单文件组件,是Vue.js自定义的一种文件格式,一个.vue文件就是一个单独的组件,在文件内封装了组件相关的代码:ht原创 2020-10-04 14:58:18 · 1368 阅读 · 1 评论 -
Vue 的声明周期图析
原创 2020-10-03 09:31:07 · 166 阅读 · 0 评论 -
Vue render流程图
原创 2020-10-03 09:28:58 · 875 阅读 · 0 评论 -
Vue 自定义组件directive使用总结
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>.原创 2020-10-02 21:52:57 · 1079 阅读 · 0 评论 -
Vue mixin的使用案例&问题说明
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>.原创 2020-10-02 21:31:51 · 284 阅读 · 0 评论 -
Vue 作用域插槽复用模板-封装for循环
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>.原创 2020-10-02 18:08:30 · 1142 阅读 · 0 评论 -
Vue 作用域插槽slot
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>.原创 2020-10-02 17:21:22 · 402 阅读 · 0 评论