vue笔记

作者: 一个健康马 | 来源:发表于2019-12-03 10:17 被阅读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:{}//分模块管理

    相关文章

      网友评论

        本文标题:vue笔记

        本文链接:https://www.haomeiwen.com/subject/qtoqgctx.html