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);
                }
            }); 
        },
    
  • 相关阅读:
    推荐系统-01-简单逻辑回归
    顶部BANNER
    大数据-12-Spark+Kafka构建实时分析Dashboard
    大数据-10-Spark入门之支持向量机SVM分类器
    大数据-11-案例演习-淘宝双11数据分析与预测
    大数据-09-Intellij idea 开发java程序操作HDFS
    大数据-08-Sqoop入门
    大数据-07-Spark之流数据
    准确度,精确度, 召回率
    [转]springcloud(九):配置中心和消息总线(配置中心终结版)
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/9956267.html
Copyright © 2011-2022 走看看