vue动态组件

交互中,程序运行会有不同的结果,需要根据不同的结果展示不同的组件,用ifelseif会比较繁琐
当在这些组件之间切换的时候,你有时会想保持这些组件的状态,以避免反复重渲染导致的性能问题

is attribute
示例代码
html:

<component :is="isWhitchDialogComp"></component>

js:

import DefaultDialog from './dialog/default-dialog'
import ConfilctDialog from './dialog/conflict-dialog'
import NoConfilctDialog from './dialog/no-conflict-dialog'
export default {
  components: {
    CustomDialog,
    DefaultDialog,
    ConfilctDialog,
    NoConfilctDialog
  },
  data () {
    return {
      dialogBool: '0'
    }
  },
  computed: {
    isWhitchDialogComp () {
      let dialogComp = ['DefaultDialog', 'ConfilctDialog', 'NoConfilctDialog']
      return dialogComp[this.dialogBool]
    }
  }
}

你可能感兴趣的:(javascript,vue,动态组件,vue)