ECMAScript6+vue+vuex

ECMAScript6

1. Let、const和var的区别
    1.let,const不可以重复声明,var可以重复声明
    2.let,const不可以变量提升,var可以
    3.常量const,但是他在创建必须有初始值,并且不可以改变
    4.块级作用域
    5.在for循环中,条件的let相当于块级父作用域
    for(let i = 0;i<10;i++){
        // 循环体是子作用月
        let i =hello
    }
2. 变量解构赋值(数组解构)
    解决的问题: 快速创建变量
    let [a,b,c] = [1,2,3]   数组对数组,值对值
3. 变量解构赋值(对象解构)
    解决的问题:快速取值
    let { title } = { title:"名字",number:1}  对象对对象,取值拿属性,名字对名字
    
    state:{count:123,age:18},
    mutations:{
        changeCount({ count }) {
            
        }
    }
4. 模板字符串
    语法:`string${变量}`
5. 字符串扩展方法
    重复:"hello".repeat()
    字符串包含:"hello".includes("e")
    开始:"hello".startsWith
6. 函数扩展
    函数的默认值:
    let add = function(a = 0,b) {
        return a+b
    }
    扩展运算符 语法:...
    1. 浅拷贝 对象和数组
    Object.prototype.clone=function(){
        var o= this.constructor===Array? [] : {};
        for(var e in this){
            o[e]= typeof this[e]==="object" ? this[e].clone() : this[e];
        }
        return o;
    };
    2. 展开数组,和对象
    3. 展开字符串
    4. 可以转换伪数组
    5. 对象合并
    6. function中...arg, 可以拿到一个数组
7. 箭头函数
    let Person = function() {
        this.name = "张飞",
        this.age = 18,
        this.obj = {
            name:"关羽",
            // fun: function() {
            //     console.log(this.name)
            // },
            fun: () => {
                console.log(this.name)
            }
        }
    }
    let p = new Person()
    console.log(p)
    p.obj.fun()
8. 数组扩展
    arr.includes()  // 数组中是否包含
    arr.fill()  // 数组填充 第一个参数填充的内容,第二个参数填充的起始位置,第三个参数,结束的位置
    arr.findIndex() // 数组查找下标,找到返回索引值,找不到返回-1
    arr.find()      // 数组中符合条件的对象
    every()  // 循环条件都为真时,返回true
    some()   // 循环条件有一个为真时,返回true
    map()    // 映射(具有返回新数组)
    filter() // 过滤出符合条件的对象,返回新数组
9. 对象的扩展
    对象的简洁语法:
    对象合并 Object.assgin({},obj)
    对象循环:Object.keys()  Object.values()

10. Class 基本使用和继承
11. Class 静态方法 静态属性
12. set 和map数据结构:
    set数据结构,里面存储都是不能重复的值
    size属性,就是set数据结构中的数量
    add()    向set数据结构中添加一个数据
    delete() 在set结构中删掉一个数据
    clear()  全部清空
    has()    判断是否有这个值
    数组去重:
    let arr = [1,2,3,4,2,1,2,3,4,12,3,1,2,31,1]
    let s = [...new Set(arr)]

    map 数据结构
    set()    向map数据中存
    get()    取数据
    add()    向map数据结构中添加一个数据
    delete() 在map结构中删掉一个数据
    clear()  全部清空
    has()    判断是否有这个值
    特点:就是可以以任何数据类型进行存储 key=>value

13. Promise 对象
    let p = new Promise()
    有两个回调,一个是成功回调resolve  失败reject
14. async 函数
    异步函数:
    函数的语法:在普通函数前面加上 async 关键字,那么就变成了异步函数,
    异步函数的特点:
    返回值 一直是promise对象
    调用方式跟普通函数一致
    遇到关键字await,会先执行await后面的promise对象,然后再执行下面的语句

15. Symbol :
    es6推出的独一无二的第7中数据类型,可以通过typeof(),查看他的数据类型,一般情况是用来当对象的属性来用
    let s = Symbol()  // s就是symbol数据类型

webpack4.0

1. webpack 介绍
2. webpack重要性
3. 打包基本配置
4. 服务器、热加载配置

vue基础

1. MVVM 和 MVC
2. 核心点:数据驱动和组件开发
3. 渐进式框架
4. 虚拟dom
5. 模板语法
{{  }}
6. 指令以及修饰符
    v-if v-show v-for v-html v-model v-bind v-on v-clock
7. 事件修饰符

vue 基础进阶

1. vue 方法 methods
2. 计算属性 computed 与 监听 watch
    (计算属性的用法)与(监听的基本用法)
3. class与style绑定
    :class="isShow?'pink':'white'"
    :class="{red:true}"
    :class="[{red:true},{blue:true}]"
4. Filter 过滤器
5. directive 自定义指令

vue 的组件

1. 组件的划分(全局组件,局部组件)
全局
    在main.js中 注册全局组件
    import Loading from '@/components/loading'
    Vue.component("Loading",)  // 在脚手架任意一个组件中使用
局部
    在某个组件中,使用局部组件
    import appHeader from '@/components/header'
    components:{
        appHeader:appHeader
    }
2. 组件的好处
    组件得复用性,组件得维护性,高效
3. 组件的封装

4. 组件通讯
    (父传子,子传父,兄弟传值,props验证) 
5. 插槽slot
    匿名插槽:
    父组件: 使用子组件
    
        132132
    
    子组件:
    可以通过slot标签拿到上面得132132
    

    具名插槽:****
    父组件: 使用子组件
    
        首页
    
    子组件:
    可以通过slot标签拿到上面得132132
    

    子组件:
    data() {
        return{
            obj:{name:132,age:456}
        }
    }
    

    父组件:
    
    (匿名插槽、具名插槽、作用域插槽)
6. 动态组件
    (keepalive)
    可以将组件进行缓存
    第一种:
    
        
    

    第二种:
    路由表配置:
    {
        path:"/",
        name:"Home",
        component:Home,
        meta:{
            keepalive:true // 在显示当前路由组件时,我就进行缓存
        }
    }
    
        
    
    

7. vue 生命周期与单向数据流
    挂载阶段(创建前 beforeCreate、创建后 created、挂载前 beforeMount、挂载后 mounted)

    运行阶段(更新前 beforeUpdate、更新updated)

    销毁阶段 (销毁前 销毁后)

脚手架以及路由

1. 为什么使用vue-cli
2. vue-cli的安装
3. vue-cli的目录介绍
4. vue 单页面应用 路由的使用
5. history和hash模式的区别
    hash 能兼容到IE8, history 只能兼容到 IE10
    hash:(默认)
        以#定位的方式去进行路由切换,类似锚点,url方式进行传递参数,有体积的限制,json的大小
    histroy: 
        pushState,replaceState 去改变路由状态,histroy 体积上限值要大,还有专门的对象进行存储,如果在服务器上,进行布置测试,不怕前进后退,刷新操作,会出现404,需要进行一些文件的配置

6. router-link的配置项
   to属性进行跳转 to="/"  tag="div"
7. 重定向 (redirect)
    路由中配置:
    路由表:
    {
        path:"/",
        name:"Home",
        component:Home,
        redirect:"/city"
    }
    
8. 嵌套路由 
9. 命名视图(路由表)
10. 动态路由传参 
    this.$router.push({
        path:"",
        query:{
            
        }
    })
    this.$router.push({
        name:"",
        params:{}
    })
11. 监控$route 路由信息对象
    watch:{
        $route(to,from) {
            console.log(to)
        }
    }
12. 导航动画
    v-leave-enter:  起始路由离开的状态
    v-leave-to:     终止路由离开的状态
    v-leave-active: 加个过度
13. 钩子函数
    (全局钩子、组件钩子、单个路由钩子)
    beforeEach  全局前置
    afterEach   全局后置

    单个的路由钩子
    beforeEnter: 单个路由钩子

    组件的钩子
    beforeEnterRoute:  组件确认钩子
    beforeUpdateRoute: 组件的路由参数改变时触发
    beforeLeaveRoute:  组件离开之前触发


14. 编程式导航
    (Router.push、 Router.replace、Router.go)

vuex

1. vuex 的使用场景
2. vuex的核心
    (state、getters、mutations、actions、modules)
3. vuex的运行机制

axios

1. 安装与使用
2. 核心方法
    (get请求、post请求、并发请求、创建实例、拦截器)

UI框架

1. elementUi
2. MintUi

练习

作业效果:https://m.douban.com/movie/
1.配置根路由list,在list路由中,请求热门、top250、即将上映,数据获取,渲染页面
2.渲染图片,名字,得分多少星
3.点击某一个数据列表,可以跳转到detail路由,传递过去一个id
4.在detail路由页面,进行详情数据获取,渲染页面

你可能感兴趣的:(vue)