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="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:{}//分模块管理

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 2,889评论 1 4
  • 准备工作 一、安装脚手架 1、安装vue脚手架,这是构建vue项目的工具-g为全局安装​ npm insta...
    不困于情阅读 2,293评论 0 3
  • ..
    李华炎阅读 232评论 0 1
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,212评论 1 22
  • created mounted区别: created运行时,还未挂载到DOM,不能访问到$el属性,可用于初始化一...
    手指乐阅读 186评论 0 3