vue学习回顾第二天

自动获取焦点

  • 方式一:dom版
//通过ref属性对dom的引用,随意命名,不能重复
    品牌名称:
// 通过this.$refs.ref的值来获取dom
     this.$refs.inputRefId.focus()
  • 方式二:通过自定义指令获取焦点
    自定义指令通过Vue.directive()创建,它包含两个参数,一个是自定义指令的名字,可以随便取,但是全部小写;另一个是一个对象,表示自定义指令的配置项。
    Vue.directive('myfocus',{
        // inserted钩子函数,它表示自定义指令插入到标签中的时候就执行
        // inserted钩子函数有两个参数(el,binding) el表示使用自定义指令的元素,binding表示自定义指令的信息
        inserted(el,binding){
            console.log(el);
            console.log(binding);
            el.focus()
        }
    }),

自定义指令的其他使用


 //创建v-mycolor指令
        Vue.directive('mycolor',{
            inserted(el,binding){
                // binding.value可以获取传入自定义指令中的属性的值
                el.style.color=binding.value;
            }
        }),  

过滤器

  • 创建:通过vue.filter()创建
//使用vue.filter()创建,有两个参数,过滤器名字和处理函数,函数有一个默认参数,表示要过滤的数据
    Vue.filter("fmtTime",function (time,seprator) {
        console.log(time);
        let y=time.getFullYear();
        let m=time.getMonth()+1;
        let d=time.getDay();
        return y+seprator+m+seprator+d;
    });
  • 使用:过滤器的使用 在需要过滤的数据后面加上管道符 | 过滤器名称
{{item.ctime |fmtTime('-')  }}

计算属性

  • 计算属性出现的目的是解决模板中放入过多的逻辑会让模板过重且难以维护的问题;计算属性是基于它们的依赖进行缓存的
computed:{
            // 这里fullName就是一个计算属性,它是一个函数,但这个函数可以当成属性来使用
            yourName(){
                return this.firstName+this.lastName;
            }
        }
//使用

{{yourName}}

watch:侦听器,用来观察和响应 Vue 实例上的数据变动

  // watch监听器用来监听data中数据的值,只要监听的数据一变化,它就能执行相应的函数
        // 创建监听器通过watch属性,它是一个对象
        watch:{
            //函数名是要监听的data中的名字
            firstName(newVal,oldVal){
                this.fullName=newVal+this.lastName;
            },
            lastName(newVal,oldVal){
                this.fullName=this.firstName+newVal;
            }
          
        }
    })

深度监听:监听对象时使用

 watch: {
            // 监听对象不能使用下面这种写法,要使用深度监听
            // user(newVal, oldVal) {
            //   console.log('改变了');
            // }

            user: {
                // hanlder这个函数名字固定
                handler (newval) {
                    console.log('改变了');
                    console.log(newval.name);
                },
                // deep:true表示深度监听
                deep: true
            }
        }

computed和watch的使用

  • 通常情况下用computed,当需要在数据变化时执行异步或开销较大的操作时,用watch

搜索功能的实现

computed: {
            newList() {
                // var that = this
                // function isContainStr (value) {
                //   // console.log(this);
                //   // !==-1就表示满足条件,能够找到该字符串
                //   return value.name.indexOf(that.searchVal) !== -1
                // }

                // var tempList = this.list.filter(isContainStr)

                // return tempList

                // es6箭头中的this是在哪儿定义就指向谁
                return this.list.filter(value => value.name.indexOf(this.searchVal) !== -1)
            }
        }

axios

  • 浏览器与服务器数据交互是遵循http协议的,当浏览器要访问服务器的时候,浏览器需要将相关请求数据提交给服务器(例如:浏览器信息,url地址,参数等),通常是通过请求报文来提交的

  • 请求报文的格式分为:

    1. 请求报文行
    2. 请求报文头
    3. 请求报文体

http响应报文
当浏览器请求服务器的时候,服务器需要将数据返回给浏览器,这种数据是通过响应报文响应回浏览器的

  • 响应报文的格式分为:
    1. 响应报文行
    2. 响应报文头
    3. 响应报文体
  • get请求
    methods: {
      getData: function () {
        var url = 'http://157.122.54.189:9093/api/getprodlist'
        axios.get(url)
          .then(res => {
            this.list = res.data.message
            console.log(this.list);
          })
          .catch(error => {
            console.log(error);
          })
      }
    }
  • post请求
 axios.post('http://157.122.54.189:9093/api/addproduct', {
                name: '哈哈哈'
            })
                .then(res => {
                    console.log(res.data);
                })
                .catch(error => {
                    console.log(error);
                })

获取数据和删除数据


vue过渡和动画的几种方式

  1. 方式一:transition结合css实现过渡



    
    Title
    
    


qinduankaifa

2 transition结合animate.css实现过渡




    
    Title
    
  


一见无始道成空

3 transition结合钩子函数实现过渡

  1. 过渡动画进入
    before-enter 过渡动画进入之前,一般在这个方法中定义目标元素的初始位置
    enter 过渡动画进入中,在这个方法中定义目标元素的结束位置
    after-enter 过渡动画结束后,通常在这个方法里面重置初始值
    enter-cancelled 取消过渡动画时被调用
  1. 过渡动画离开
    before-leave 动画离开之前触发
    leave 过渡动画进入中触发
    after-leave 过渡动画离开结束后
    leave-cancelled 取消过渡动画时被调用



    
    Title
    



qinduankaifa

动画的删除





  
  
  
  
  
  



  
编号: 品牌名称:
品牌名称:
编号 品牌名称 创立时间 操作
{{item.id}} {{item.name}} {{item.ctime}} 删除
没有品牌数据

是否删除{{tempId}}号

你可能感兴趣的:(vue学习回顾第二天)