zoukankan      html  css  js  c++  java
  • Vue 02

    开始之前 再回忆一下es5 es6中的数组操作方法,在vue和react 中会大量运用

    1. arr.filter((item,index)=> 条件 )ES5 返回新数组 不改变原数组
     返回值为true就把该元素添加到新数组里面
     发回值为false 就不添加该元素

     而arr.splice 则改变原数组

    2.ES5 arr.map(item,index) =>条件) 用来操作数组 并放回一个新数组

      question: map和forEach 的区别?

      answer: forEach不会返回数据,对数组操作会改变原数组

      而map不会改变原数组数据,而是返回一个新数组.

    3.ES5 arr.some((item,index) =>条件) 检查数组中某些值是否符合条件,只要有一个值符合条件 返回值则为true

    4.ES5 arr.every((item,index) =>条件) 检查数组中所有值是否符合条件,只有全部符合条件才为true

    5. ES6 arr.find((item,index) =>条件) 返回通过第一个数组元素的值

    6. ES6 arr.findIndex((item,index) =>条件)返回通过测试的第一个元素的索引

    07 json-server(自己制作一个后台的接口文档数据库)

    resetFul风格的接口文档

    1 同一个接口 /user

    1) get 查询

    2) post 添加

    3) delete 删除

    4) put 更新

    1 安装 npm i json-server -g

    2 创建一个数据库 组路径自定义 ./data/db.json

    3 json-server db.json路径

    4 查询 get请求

    baseURL = http://192.168.1.137:3000
    
    method  get
    url  /user
    可选参数
     username     string             用户名
     password     string             密码
     
    success:
    [
       {username:"",password:"",id},
    ]
    fail 
    []

    5. 添加 post请求

    method  post
    url   /user
    必须参数
    username   string
    password   string  

    08 生命周期

    生命周期 组件从创建到销毁 (钩子函数) 自动就触发

    1 创建前   beforeCreate   获取不到data
    2 创建后   created
    3 挂在前    beforeMount     
    4 挂在后   mounted
    5 更新前   beforeUpdate
    6 更新后   updated
    7 销毁前   beforeDestroy   
    8 销毁后    destroyed

    09 watch 监听

    1 自动触发 监听对象或者数值发生发生改变的 时候会自动执行函数

    2 两种写法

    1 普通监听 只能监听原始类型数据 number string boolean ..

     watch: {
          // 函数名字就是监听数据的变量名 (data里面的数据名字)
          n() {
              this.yf = this.n >= 10 ? 20 : 0;
          },
      },

    2 深度监听 引用类型

    user: {
         //函数名字别改  
         handler() {
             console.log("user_ok");
         },
         deep:true, 设置深度监听
         immediate: true, //初始化的时候执行
     },

    10 computed 计算属性

    1 函数名 不能与 data和methods里面的属性和方法重复

    2 必须要有返回值 return

    3 使用的时候不需要加括弧()

    4 一般情况下与watch使用区别不大

    computed: {
         yf() {
         // console.log("ok");
                 return this.money >= 58 ? 0 : 6;
         },
     },

    11 watch,computed,methods 区别

    1 作用一直 修改数据 处理业务逻辑

    2 methods 它的使用 一般都是主动调用 通过自调用或者和事件一起用

    3 watch 和 computed 是自动调用的 监听了数据改变自动执行函数

    4 选择watch还是computed

    1 如果一个属性影响多个值 选择用watch合适

    2 不需要渲染的触发的时候用watch

      其它全用computed

    12 修饰符

    1 事件修饰符

    1 .stop 阻止冒泡

    2 .prevent 阻止默认

    3 .self 只有点击自己本身的时候触发

    4 .once 触发一次

    5 .capture 捕获阶段

    6 .passive 滚动

    7 .native

    2 键盘修饰符

    @keyDown.数字 keyCode 码

    @keyDown.键名 (不是所有的键名都能用)

    3 鼠标修饰符

    .left

    .right

    .middle

    4 v-model 修饰符 (表单)

    v-model.lazy 把input事件修改 change事件

    v-model.number 转数字

    v-model.trim 去首位空格

    13 组件 特别特别重要 ()

    组件名字 如果驼峰命名 例如 myHeader <my-header> <myHeader></myHeader>错误

    1 全局组件

    Vue.component('组件名',{
        data(){
            return {}
        },
        template:"模板"  模板值识别一个子元素
    })
    
    <组件></组件>

    2 局部组件 -- 注册再使用

    const myHeader = {
          data(){
            return {}
        },
        template:"模板"  模板值识别一个子元素
    }
    new Vue({
        components:{
            myHeader
        }
    })
    <my-header></my-header>

    3 template 只识别一个子元素

    1  template  :"<button></button>"
    2  template :"id"     <template id="id"></template>
    3  template :"id"     <script type="text/template"></script>    
  • 相关阅读:
    codeforces 455B A Lot of Games(博弈,字典树)
    HDU 4825 Xor Sum(二进制的字典树,数组模拟)
    hdu 1800 Flying to the Mars(简单模拟,string,字符串)
    codeforces 425A Sereja and Swaps(模拟,vector,枚举区间)
    codeforces 425B Sereja and Table(状态压缩,也可以数组模拟)
    HDU 4148 Length of S(n)(字符串)
    codeforces 439D Devu and Partitioning of the Array(有深度的模拟)
    浅谈sass
    京东楼层案例思维逻辑分析
    浅谈localStorage和sessionStorage
  • 原文地址:https://www.cnblogs.com/Leaden/p/13826249.html
Copyright © 2011-2022 走看看