javascript - Bagaimana berbilang komponen berkongsi data yang dikembalikan oleh ajax
某草草
某草草 2017-05-19 10:16:17
0
5
612

Dapatkan komponen bandar

city: {
        template: '#city_template',
        data: function () {
            return {
                cityData: cityData,//城市数据
                selectedOptions:[24,81],//被选中的城市
                list:[],
            }
        },
        mounted: function () {
                this.getCity()
        },
        methods: {
            getCity: function () {
                var self = this
                $.ajax({
                    url:'test.json',
                    success:function (res) {
                        self.$set(self.$data, 'cityData', res)
                    }
                })
            }
        }
    },

Sesuatu halaman mungkin mempunyai berbilang komponen sedemikian. Dalam kes ini, berbilang permintaan ajax akan dibuat. Sebenarnya, adakah terdapat cara untuk meminta data tak segerak sekali, dan kemudian menggunakan salinan yang sama untuk berbilang komponen tersebut ? Saya cuba mentakrifkan ajax secara luaran dan memberikannya kepada cityData, jadi data tidak boleh dikemas kini secara langsung

某草草
某草草

membalas semua(5)
洪涛

test.json ialah fail milik anda Anda boleh menukarnya kepada format fail .js, dan kemudian menukarnya secara langsung kepada pembolehubah:{} bukan? Yang modular juga boleh didapati.

左手右手慢动作

Lihat komponen bandar anda, city.data().cityData ialah set hasil yang anda mahukan

曾经蜡笔没有小新
  1. Urus dengan Vuex

  2. Kekalkan nilai ini pada komponen induk biasa, hantarkan kepada komponen anak melalui prop dan komponen anak memberitahu komponen induk ajax melalui $emit

某草草

Akhir sekali, kami menggunakan komponen tak segerak

Vue.component(ele,function (resolve, reject) {
                getCity().then(function (data) {
                    resolve(comInherit.extend(obj[ele]));
                }).catch(function (error) {
                    alert(error)
                })
            });
淡淡烟草味

Untuk berkongsi data antara berbilang komponen, anda boleh menggunakan vuex atau menentukan sendiri yang global

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