zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    vue & lifecycle methods & this bug

    image


    ES6 Arrow function & this bind bug

    bad

    fetchTableData: (url = ``, options = {}) => {}

    
        // arrow function & this bind bug!
        // fetchTableData: (url = ``, options = {}) => {
        fetchTableData (url = ``, options = {}) {
            // fetchTableData
            // return Promise && async await
            // let url = "http://10.1.5.202/es6-test/axios/preview-user.new.json";
            if (!url) {
                url = "http://10.1.5.202/es6-test/axios/preview-user.new.json";
            }
            let that = this;
            console.log(`this =`, this);
            console.log(`that =`, that);
            // console.log(`this.a.data =`, this.a.data);
            // Axios.post(url, options)
            Axios.get(url)
            .then((res) => {
                let {
                    data: json
                } =  res;
                if (json.data.length) {
                    // that.a.data.totalPage = json.data.length;
                    // that.a.data.allDatas = json.data;
                    // // pagination
                    // that.a.data.table = that.a.methods.getPaginationData(that.a.data.allDatas, that.a.data.currentPage, that.a.data.pageSize);
                    // that.$data.totalPage = json.data.length;
                    // that.$data.allDatas = json.data;
                    // // pagination
                    // that.$data.table = that.getPaginationData(that.$data.allDatas, that.$data.currentPage, that.$data.pageSize);
                    this.$data.totalPage = json.data.length;
                    this.$data.allDatas = json.data;
                    // pagination
                    this.$data.table = this.getPaginationData(this.$data.allDatas, this.$data.currentPage, this.$data.pageSize);
                }
            });
        },
    

    ES6 & class methods

    OK

        showInitTableData(url = ``) {
            console.log(`init this =`, this);
            Axios.get(url)
            .then((res) => {
                let {
                    data: json
                } =  res;
                if (json.data.length) {
                    this.$data.totalPage = json.data.length;
                    this.$data.allDatas = json.data;
                    // pagination
                    this.$data.table = this.getPaginationData(this.$data.allDatas, this.$data.currentPage, this.$data.pageSize);
                }
            }); 
        },
    
  • 相关阅读:
    Java 抽象类
    Java 多态
    Java 重写与重载
    Java继承
    声卡驱动
    Sublime Text 3快捷键
    近年来世界各地ICO的花式骗局盘点
    区块链未能大爆发的影响因素有哪些?
    BCH分叉是一次站队博弈
    一文读懂百倍币的诞生背景
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/9956267.html
Copyright © 2011-2022 走看看