javascript - masalah suntikan parameter es6
为情所困
为情所困 2017-05-19 10:26:27
0
2
462
class loginCtrl {
    constructor(http) {
        [this.http, this.name] = [http, 'login'];
    }

    login() {
        console.log(this.http);
        console.log(this.name);
    }
}
loginCtrl.$inject = ['http'];

let a = new loginCtrl();
a.login();


Selepas memanggil seperti ini, http tidak ditentukan, tetapi ia boleh dicetak dengan mengklik pada acara tersebut.


Apa yang sedang berlaku Angular digunakan untuk menyuntik http.
Kod http adalah seperti berikut:

class http {
    constructor($http) {
        this.$http = $http;
        this.options = {
            headers: {
                'Content-type': 'application/json;charset=utf-8',
                'accessToken': 2332
            }
        }
    }
    get(data, url, cb) {
        let gets = {method: 'GET', params: data, url: url}
        Object.assign(gets, this.options)
        this.$http(gets).then(function (data) {
            console.log('success');
            cb(data);
        })
    }
}

http.$inject = ['$http'];

export default angular.module('http', [])
    .service('http', http)
    .name;
为情所困
为情所困

membalas semua(2)
大家讲道理

let a = new loginCtrl(http)

Anda tidak memberikan http kepada pembina

漂亮男人

Oleh kerana anda menyuntik kaedah tak segerak dan yang lain adalah kaedah segerak Kaedah segerak akan dilaksanakan dari atas ke bawah, tetapi apabila kaedah tak segerak ditemui, utas baharu akan dibuka untuk pelaksanaan, iaitu kaedah yang anda masukkan ke dalam http. dan kaedah log masuk anda Selari, jalankan terus Selepas utas log masuk anda selesai berjalan, utas suntikan HTTP akan mencetaknya sebelum ia mempunyai masa untuk mengembalikan nilai. Tetapi selepas menambahkan acara klik, urutan pencetus acara dibuka Apabila acara dicetuskan, utas akan menambah acara pada penghujung baris gilir untuk diproses dengan cara ini, selepas mengklik, nilai dikembalikan selepas suntikan http diterima, mungkin begitu.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan