vue和es6的学习笔记

vue

基础

  1. 显示数据
  • 文本显示数据用{{}},html代码显示数据用v-html指令;
  1. 使用js表达式
  • {{a+1}}
  • {{ok?‘yes’:‘no’}}如果满足ok就显示yes不满足就显示no
  1. 指令
  • v-if控制显示隐藏: 满足条件就显示,不满足就不显示
  • v-bind响应式更新
  • v-on:click点击时间
  • 动态参数:可以用方括号括起来的 JavaScript 表达式作为一个指令的参数

组件

  1. 组件的复用
  2. 一个组件的date选项必须是一个函数,所以每个实例可以维护一份呗返回对象的独立拷贝
  3. props的类型
    props: {
    title: String,
    likes: Number,
    isPublished: Boolean,
    commentIds: Array,
    author: Object,
    callback: Function,
    contactsPromise: Promise
    }
  4. 通过prop向子组件传递数据
  • 父组件:
    data: {
    posts: [
    { id: 1, title: ‘My journey with Vue’ },
    { id: 2, title: ‘Blogging with Vue’ },
    { id: 3, title: ‘Why Vue is so fun’ }
    ]
    }
    引用子组件:
  1. 监听子组件事件

混入

  1. 混入提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。
  • 钩子函数合并
<body>
    <div id="app"></div>
</body>
</html>
<script src="./vue.js"></script>
<script>
    var Mixins = {
        created() {
            console.log('Mixins Created')
        }
    }
    new Vue({
        el: '#app',
        mixins: [Mixins],
        created() {
            console.log('#app Created')
        }
    })
    
    //  Mixins Created
    //  #app Created
</script>
  • 数据对象合并
  • 普通方法合并

jsx

  1. jsx怎么用v-if,v-for
  • v-if:
this.showModal ? <div class="mask" >11111</div> : null
  1. v-for:
 data(){
        return{
          show:false,
          list:[1,2,3,4]
        }
      },
      render(){
        return (
          <div>
            {this.list.map((v)=>{
              return <p>{v}</p>
            })}
          </div>
        )
      }

ES6

let和const

  1. let 用来声明变量,用法类似于var,但只在当前let命令所在的代码块内有效
  2. 块级作用域:
    es6 如果外层和内层都声明了同一个变量,那外层代码块不会受内层代码块的影响
  3. const命令
    const声明一个只读的常量。一旦声明,常量的值都就不能改变(只声明不赋值会报错)
  4. let和const的相同之处
  • 只在声明所在的作用域内有效
  • 只能先声明后使用
  • 不允许重复声明一个变量,因此不能在函数内部重新声明参数

变量的解构赋值

  1. 基本用法
    从数组和对象中提取值,对变量进行赋值,这被称为解构
    let [a, b, c] = [1, 2, 3];

字符串的新增方法

  1. includes() 返回布尔值,表示是否找到了参数字符串。
  2. startsWith() 返回布尔值,表示参数字符串是否在原字符串的头部。
  3. endsWith() 返回布尔值,表示参数字符串是否在原字符串的尾部。
  4. repeat() 方法返回一个新字符串,表示将原字符串重复n次。
  5. trimStart(),trimEnd() 消除字符串头部(尾部)的空格

数组的扩展

  1. 复制数组
    const a1 = [1, 2];
    // 写法一
    const a2 = […a1];
    // 写法二
    const […a2] = a1;
function a(...rest){
    return [...rest]
}
a(1,2,3,4,5,6,7,8)
(8) [1, 2, 3, 4, 5, 6, 7, 8]
  1. 合并数组
    const a3 = a1.concat(a2);
  2. 与解构赋值结合
const [first, ...rest] = [1, 2, 3, 4, 5];
first // 1
rest  // [2, 3, 4, 5]
  1. 将字符串转为数组
    const [first, …rest] = [1, 2, 3, 4, 5];
    first // 1
    rest // [2, 3, 4, 5]
  2. find() 和 findIndex()
let b=[{a:1,c:4},{a:2,c:2},{a:3,c:1}]
b.find(e=>{
    if(e&&e.c&&e.c==4){
        return e.c
    }
})
  • find()的参数是一个回调函数,所有数组成员依次执行该回调函数,知道找出第一个返回值为true的成员,然后返回该成员,如果不符合,则返回undifined。
  • findIndex()方法的用法钰find方法非常类似,返回一个符合条件的数组成员的位置,所有的成员都不符合就返回-1
  1. includes() 方法返回一个布尔值,表示是否包含某个数值
  2. Array.prototype.sort()的排序稳定性
  • const arr = [
    ‘peach’,
    ‘straw’,
    ‘apple’,
    ‘spork’
    ];
    const stableSorting = (s1, s2) => {
    if (s1[0] < s2[0]) return -1;
    return 1;
    };
    arr.sort(stableSorting)
    // [“apple”, “peach”, “straw”, “spork”]

Promise

  1. 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大
  2. 特点:
  • 对象的状态不受外界影响。
  • 一旦状态改变,就不会再变,任何时候都可以得到这个结果。
  1. promise
    .then(result => {···})
    .catch(error => {···})
    .finally(() => {···});
new Promise(resolve => {
  setTimeout(() => {
    resolve('hello')
  }, 2000)
}).then(res => {
  console.log(res)
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值