Нужно сделать так
data: function () {
return {
order: {
param: 'default state'
},
}
},
и не будет никаких exception. Т.е. для всех параметров следует описывать структуру заранее.
Плюс к тому, по-хорошему, асинхронные методы должны бы возвращать промис
initOrder() {
return HTTP.get('/orders/id=' + this.$route.params.id)
.then((response) => {
this.loaded = true;
this.order = response.data;
});
},
Теперь мы всегда можем повесить какое-то действие на резолв initOrder через then, например вызвать initOptions.
this.initOrder().then(this.initOptions);
А на основной компонент по флагу this.loaded можно показывать какую-нибудь крутилку, пока данные не загружены.
Промис так же можно вернуть, сделав,
async initOrder()
ну и переписав его как асинк-функцию.