Я разрабатываю приложение SPA в Vue. У меня есть мастер в мастере У меня есть компонент для каждого шага. Все компоненты добавляются в начале, а их смонтированный и созданный метод / событие выполняется при запуске приложения.
Я использую шину событий, и когда я перехожу к следующему шагу мастера, я запускаю событие и ловлю событие на соответствующем шаге.
Примечание: Компонент скрыт в начале, и когда он показывает, у него не будет обновленных данных или даже данных в полях ввода.
Код компонента 2-го шага:
<template>
<section>
<div class="container">
<form class="form-horizontal">
<div class="row form-group">
<label class="col-sm-3 control-label" for="marshaCode">MARSHA Code:</label>
<div class="col-sm-4">
<input type="text" class="form-control field-ml-15" v-model="marshaCode" placeholder="Enter Marsha Code" readonly />
<input type="text" class="form-control field-ml-15":value="marshaCode" placeholder="Enter Marsha Code" readonly />
<p>{{marshaCode}}</p>
</div>
</div>
</form>
</div>
</section>
</template>
<script>
import { EventBus } from "../../shared/eventbus.js";
export default {
data() {
return {
marshaCode:"On Load Code"
}
},
mounted() {
EventBus.$on('showSurvey', () => {
this.marshaCode="On Show Code"
});
},
}
</script>
Теперь, когда этот компонент покажет, у тега P будет «Код загрузки» Но в обоих полях данных не будет.
Как я могу перепривязать, перерисовать или обновить данные?