vue.js动态组件状态

时间:2018-06-10 11:58:49

标签: vue.js vue-component

我有一个使用动态组件管理的多步骤布局

<keep-alive>
    <component :is="actualStep" :status.sync="status"></component>
</keep-alive>
<button @click.prevent="prevStep">Prev</button>
<button @click.prevent="nextStep" :disabled="!status">Next</button>

status值用于监视实际组件状态,根据组件的内部验证过程将其值更新为true或false,并允许(或不允许)移至下一步。例如,只有填写了所有必填字段时,组件才会将状态更改为true。

启动组件时,

status也会更改为初始值。有些组件将其更改为true(因为它们不进行任何验证),有些组件将其更改为验证过程结果。

mounted() {
    this.$emit('update:status', this.isValid);  // isValid is a computed
}

然而,只有在安装组件时才会发生这种情况(我猜是因为保持活着)。每当动态组件更改为actualStep时,我都需要这样做。如何才能做到这一点?或者它是管理动态组件的更好方法。状态?

0 个答案:

没有答案