前端

vue笔记

2019-12-03  本文已影响0人  一个健康马

vue 第三方插件
vue-loader 解析vue的第三方模块
webpack
webpack-cli
vue-template-compiler模板解析
import Vue from "vue";//vue
import App from "./components/app.vue"//app.vue
import Router from 'vue-router'//路由
import router from '../config/router.js'//路由配置项
import Mintui from 'mint-ui'//手机组件
import axios from 'axios'//代理
import { builtinModules } from "module";
webpack:
const path = require("path"),//拼接路径 jion reslove
webpack = require("webpack"),//模块打包工具
VueLoaderPlugin = require("vue-loader/lib/plugin"),//node文件夹里面的解析插件
HtmlPlugin = require("html-webpack-plugin"),//加载页面中链接资源插件
{ CleanWebpackPlugin } = require("clean-webpack-plugin");//删除旧文件保留新文件插件
new Vue({})实例化
el:""挂载元素
.mount()挂载元素 {{}}差值表达式 解析数据简单运算 '{}'标签里使用 &运算 前面为真执行后面 ||运算 执行前面后面没机会 data:{return{}}//数据存储 methods:{}//方法 components:{组件名}//注册组件 computed:{userName:{get(){}set(参数){}} filters:{setMoney(参数){return}}//过滤器 |过滤器名称//连通过滤器 watch:{obj:{变量名(newValue新值,oldValue老值),depp:true深度监听,immediate:true//页面加载完成后监听}} directives:{自定义指令 指令名:{ bind(el//当前绑定元素,binding//绑定相关信息,vnode//当前节点){}//绑定指令 只会触发一次 inserted(el//当前绑定元素,binding//绑定相关信息,vnode//当前节点)//会在元素渲染后绑定 update() componentUpdated()}} render(h){return h 数据}//向页面渲染数据(对象,属性,内容) render:h=>(app)渲染 v-for=(item,i) in arr for循环 :key="item"新旧值比较 v-bind://绑定属性简写: v-on:简写@ //事件绑定 @click.native vue组件添加事件 v-if判断 v-else-if或者 v-else否则 v-show="true"元素是否显示 v-model=""双向数据绑定 v-model-checkbox[]获取数据 ""返回布尔值 ref="绑定名称"this.refs.name 获取带有name标签的真实dom节点
.forceUpdate()强制组件刷新 修饰符: .number 转换数值 .stop 阻止事件冒泡 .prevent阻止默认行为 .once 只触发一次事件 .enter 回车就会触发 .lazy model失焦时触发 import vue from "vue" 异步的引入的方式 接收 export defalut{对应暴露方式} 父子通讯 :属性='数据'数据绑定 传输数据 父 props:[""]接受数据 子 props:{对象数据接收 数据:{type:数据类型,required:fales默认||true 强制要求属性要传递,否则提示,efault:"默认值" 没有参数的时候,会走默认值validator(data){}获取用户传递过来的数据} 子父通讯 子:this.emit("comeSon",this.数据)
父:标签@=事件函数 发布订阅
兄弟组件通讯
bus.js bus.发布订阅
爷孙通讯
provide(){方法return{属性:this. 属性:值.}}爷
inject:["属性"] 孙
<router-link to=""></router-link>相当于a标签
<template></template>vue模板
<style lang=stylus socped></style>//socped局部样式
<slot></slot> 接收组件标签中的信息 普通插槽
<span slot="名称"> <span name="名称">调用 具名插槽
<span slot-scope="">变量本页面<slot :名称=""></span>作用域插槽
<router-view></router-view>所有的路由组件都在里面
<router-link to=""><router-link>相当于a标签
<transition :name="></transition>动画属性设置
路由配置
vue-router第三方模块
import Router from "vue-router"//引入路由
import 组件名 form "组件地址"
const router=new Router({})实例化路由
mode:"history"//路由跳转方式
routes:[]路由配置
{path:"/"路径展示
component:组件名//注册组件
name:""给路由命名
meta:{设置检索等等组件的唯一标识}
redirect:""路径地址 重定向}
base:"/地址/"当前路由都在base配置的地址之下
scrollBehavior(to,from){//跳转时获取to//在哪from//去哪}前进后退按钮滚动
linkActiveClass=""路由名重新定义 当前选中 class名字
linkExactActiveClass=""路由名重新定义 精确进入
export default router向外暴露
路由守卫
全局
next(“可以传地址参数”)向下执行或者跳转指定页面
to当前到达路径
from上次路径
router.beforeEach((to,from,next)=>{路由跳转前的钩子函数})
router.beforeResolve((to,from,next)=>{路由跳转前的钩子函数 后执行})
router.afterEach((to,from)=>{})路由跳转之后的钩子函数
组件内守卫
beforeRouteEnter((to,from,next)=>{next(x=>{})} 钩子执行前,组件实例还没被创建
beforRouteUpdata 动态路由更新钩子函数
beforRouteLeave 导航离开该组件的对应路由时调用
vue.keep-alive 防止重复请求刷新 并保留状态
name:"name"起名字
<keep-alive include="name">配置多个不刷新</keep-alive>
<keep-alive exclude="name">排除哪个</keep-alive>
component:require(地址).default按需求加载路由组件
name-enter:定义进入过度的开始状态
name-enter-active定义进入活动的状态
name-enter-to定义进入的结束状态
name-leave:定义离开过去的开始状态
name-leave-active定义离开活动的状态
name-leave-to:定义离开的结束状态
this.route拿到路由配置项 this.route.query拿到快递的参数
this.router.push({name:""</router-link>params:{},query:{}})事件跳转页面传参 this.router.push({path:""地址)跳转页面
this.router.go(-1)回退 从哪里来 回到哪里 生命周期 beforeCreate()在节点创建之前触发的函数 created()在节点创建完成触发的函数 beforeMount()挂载之前触发的函数 mounted()挂载之后触发的函数只会执行一次 beforeUpdata组件更新前触发 UPdated组件更新后触发 beforeDestroy组件销毁前 destroyed组件销毁后触发 activated()组件被缓存的时候 deactivated 组件被销毁的时候 触发多次 this.el指的是当前的元素节点
this.destroy()组件销毁函数 Vue.prototype.axios=axios;挂载axios
this.axios.post("地址",obj参数)//post请求直接 this.axios("地址",{//get 请求
params{参数}
}).then(res=>{}).catch(err=>{})拿数据
npm i koa2-cors -s 第三方插件 导入 app.js 注册 解决跨域
在请求或响应被 then 或 catch 处理前拦截它们。
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
return config;// 在发送请求之前做些什么
}, function (error) {// 对请求错误做些什么
return Promise.reject(error);
});即可以用在请求动画等。
vuex状态管理器new Vuex.Store({})
state:{}//存储数据
actions:{},//异步行为事件 sotre.getters.fun() mutations:{},//修改数据状态 同步store.commit(''方法",params)
getters:{},//计算属性$sotre.getters.fun()
modules:{}//分模块管理

上一篇下一篇

猜你喜欢

热点阅读