vue笔记

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=refs.name 获取带有name标签的真实dom节点
.forceUpdate()强制组件刷新 修饰符: .number 转换数值 .stop 阻止事件冒泡 .prevent阻止默认行为 .once 只触发一次事件 .enter 回车就会触发 .lazy model失焦时触发 import vue from emit("comeSon",this.数据)
父:标签@=事件函数 发布订阅
兄弟组件通讯
bus.js bus.发布订阅
爷孙通讯
provide(){方法return{属性:this. 属性:值.}}爷
inject:["属性"] 孙
相当于a标签
vue模板
//socped局部样式
接收组件标签中的信息 普通插槽
调用 具名插槽
变量本页面作用域插槽
所有的路由组件都在里面
相当于a标签
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"起名字
配置多个不刷新
排除哪个
component:require(地址).default按需求加载路由组件
name-enter:定义进入过度的开始状态
name-enter-active定义进入活动的状态
name-enter-to定义进入的结束状态
name-leave:定义离开过去的开始状态
name-leave-active定义离开活动的状态
name-leave-to:定义离开的结束状态
this.route.query拿到快递的参数
this.router.push({path:""地址)跳转页面
this.router.go(-1)回退 从哪里来 回到哪里 生命周期 beforeCreate()在节点创建之前触发的函数 created()在节点创建完成触发的函数 beforeMount()挂载之前触发的函数 mounted()挂载之后触发的函数只会执行一次 beforeUpdata组件更新前触发 UPdated组件更新后触发 beforeDestroy组件销毁前 destroyed组件销毁后触发 activated()组件被缓存的时候 deactivated 组件被销毁的时候 触发多次 this.el指的是当前的元素节点
this.axios=axios;挂载axios
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:{},//异步行为事件 store.commit(''方法",params)
getters:{},//计算属性$sotre.getters.fun()
modules:{}//分模块管理

你可能感兴趣的:(vue笔记)