Установите наблюдение за свойством, которое должно содержать данные, в обработчике проверяйте, что пришедшее значение корректно, если да - выполняйте код, который сейчас у вас в mounted (конечно, уже без setTimeout'а):
watch: {
данные: {
immediate: true,
handler(value) {
if (value какой нужен) {
делаете чего там вам надо
}
},
},
},
Если данные разделены на несколько частей, которые загружаются независимо, сделайте вычисляемое свойство, где эти значения будут объединены в массив, и в наблюдателе проверяйте все его элементы:
computed: {
данные() {
return [ this.данные1, this.данные2, /* ... */ ];
},
},
watch: {
данные: {
immediate: true,
handler(value) {
if (value.every(n => n какой нужен)) {
делаете чего там вам надо
}
},
},
},