zoukankan      html  css  js  c++  java
  • [Vue @Component] Switch Between Vue Components with Dynamic Components

    A common scenario is to present different components based on the state of the application. Dynamic components in Vue make this simple by providing a component element that simply needs to be bound to the component that you want to render. This example shows using a select dropdown in Vue to select the component to render.

    <template>
      <Settings>
        <Layout slot-scope="{header, footer}">
          <AwesomeHeader slot="header" :header="header"></AwesomeHeader>
          <div slot="content" class="flex-grow">
            <select v-model="selectedComp">
              <option v-for="comp in comps" :key="comp.name" :value="comp">{{comp.name}}</option>
            </select>
            <component :is="selectedComp"></component>
          </div>
          <AwesomeFooter slot="footer" :footer="footer"></AwesomeFooter>
        </Layout>
      </Settings>
    </template>
    
    <script>
    import Vue from "vue"
    import { Component, Prop } from "vue-property-decorator"
    import Settings from "./Settings"
    import Layout from "./Layout"
    import { Header, Footer } from "./components"
    
    const One = {
      functional: true,
      name: "One",
      render: h => <h1 class="bg-red">One</h1>
    }
    
    const Two = {
      functional: true,
      name: "Two",
      render: h => <h1 class="bg-green">Two</h1>
    }
    
    const Three = {
      functional: true,
      name: "Three",
      render: h => <h1 class="bg-purple">Three</h1>
    }
    
    @Component({
      components: {
        Settings,
        Layout,
        AwesomeHeader: Header,
        AwesomeFooter: Footer
      }
    })
    export default class App extends Vue {
      comps = [One, Two, Three]
      selectedComp = this.comps[0]
    }
    </script>

  • 相关阅读:
    ThroughRain第一次冲刺个人总结
    【操作系统】实验四 主存空间的分配和回收
    学习回顾与总结
    关于学术诚信与职业道德的承诺
    sprint个人总结+读书博客
    实验三 进程调度模拟程序
    团队项目3.0
    软件改进
    团队项目项目:二次开发
    作业调度
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9373412.html
Copyright © 2011-2022 走看看