Heim > Fragen und Antworten > Hauptteil
Holen Sie sich Stadtkomponenten
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)
}
})
}
}
},
Eine Seite kann mehrere solcher Komponenten enthalten. In diesem Fall werden mehrere Ajax-Anfragen gestellt. Tatsächlich sind die Daten dieselben. Gibt es eine Möglichkeit, die asynchronen Daten nur einmal anzufordern und dann dieselbe Kopie für mehrere solcher Komponenten zu verwenden? ? Daten? Ich habe versucht, Ajax extern zu definieren und cityData zuzuweisen, sodass die Daten nicht direkt aktualisiert werden können
某草草2017-05-19 10:18:17
最后使用了异步组件的方式
Vue.component(ele,function (resolve, reject) {
getCity().then(function (data) {
resolve(comInherit.extend(obj[ele]));
}).catch(function (error) {
alert(error)
})
});