Vue组件之间的嵌套

Vue组件之间的嵌套

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        button {
            width: 60px;
            height: 30px;
            font-size: 16px
        }
        
        .content {
            width: 200px;
            height: 100px;
            border: 1px solid green;
            margin-top: 5px;
        }
    </style>
</head>

<body>
    <div id='app'>
        <div id="left">
            <ul>
                <li>
                    <a href='#' @click.prevent='conName="patient"'>我的病人</a>
                </li>
                <li>
                    <a href='#' @click.prevent='conName="Medical records"'>电子病历</a>
                </li>
            </ul>     
        </div>
        <div id="right">
            <div>
            </div>
        </div>
        <component :is="conName"></component>
    </div>
</body>
<script src='./js/vue.js'></script>
<script>
    // 创建登陆,注册组件
    Vue.component('patient', {
        template: `
        <div>
            <p>这是我的病人页面</p>
            </div>`
    })

    Vue.component('Medical records', {
        template: `
         <div>
            <p>这是我的病历页面</p>
            </div>`
    })

    Vue.component('details', {
        template: `
         <div>
            <p>这是我的详情页面</p>
            </div>`
    })

    Vue.component('list', {
        template: `
         <div>
            <p>这是我的列表页面</p>
            </div>`
    })

    Vue.component('patient', {
        data () {
        return {
            conName2: 'details'
        }
        },
        template: `
         <div>
            <a href='#' @click.prevent='conName2="details"'>详情信息</a>
            <a href='#' @click.prevent='conName2="list"'>病人列表</a>
            <component :is="conName2"></component>
            </div>`
    })
    

    var app = new Vue({
        el: '#app',
        data: {
            // true 登陆;false 注册
            flag: false,
            conName: 'patient' // 当前的conName 就是 component中的:is绑定的组件的名称
        }
    })

    // 总结:如果页面中出现多个组件来回切换的效果,比如百度首页的导航的切换,就可以使用 <component :is='"组件的名称"'></component>
</script>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于SSM(Spring+SpringMVC+MyBatis)和Vue.js的医院门诊互联电子病历管理信息系统是一个集成了多种技术的医疗信息化系统,旨在提高医院门诊的管理效率和服务质量。 该系统主要由以下模块组成: 用户管理模块:包括用户的注册、登录、权限管理等功能,通过使用Spring Security框架实现安全认证和授权控制。 病人管理模块:包括病人的信息录入、查询、修改、删除等功能,通过使用MyBatis框架实现数据库访问和数据持久化。 医生管理模块:包括医生的信息录入、查询、修改、删除等功能,通过使用MyBatis框架实现数据库访问和数据持久化。 药品管理模块:包括药品的信息录入、查询、修改、删除等功能,通过使用MyBatis框架实现数据库访问和数据持久化。 病历管理模块:包括病历信息的录入、查询、修改、删除等功能,通过使用Vue.js框架实现前端页面的开发和交互效果。 统计分析模块:包括数据的统计、分析和报表生成等功能,通过使用Echarts等图表库实现数据的可视化展示。 系统设置模块:包括系统的基本信息配置、日志管理、安全管理等功能,通过使用Spring Boot框架实现快速开发和部署。 该系统具有以下特点: 安全性高:通过使用Spring Security框架实现安全认证和授权控制,保证系统的安全性。 可扩展性强:通过使用MyBatis框架实现数据库访问和数据持久化,支持多种数据库类型和版本。 界面友好:通过使用Vue.js框架实现前端页面的开发和交互效果,使系统的用户体验更加友好。 数据分析能力强:通过使用Echarts等图表库实现数据的可视化展示,方便用户进行数据分析和决策。 总之,基于SSM+Vue的医院门诊互联电子病历管理信息系统是一个功能强大、性能稳定、易于维护的医疗信息化系统,可以为医院门诊的管理和服务提供有力的支持
下面是一个简单的Vue组件封装嵌套案例: ```html <!-- 外层组件 --> <template> <div> <h3>{{title}}</h3> <inner-component :items="items"></inner-component> </div> </template> <script> import InnerComponent from './InnerComponent.vue'; export default { name: 'OuterComponent', components: { InnerComponent }, props: { title: { type: String, required: true }, items: { type: Array, required: true } } } </script> ``` ```html <!-- 内层组件 --> <template> <div> <ul> <li v-for="(item, index) in items" :key="index">{{item}}</li> </ul> </div> </template> <script> export default { name: 'InnerComponent', props: { items: { type: Array, required: true } } } </script> ``` 在这个例子中,我们创建了一个外层组件 `OuterComponent` 和一个内层组件 `InnerComponent`。外层组件接收一个 `title` 属性和一个 `items` 属性,然后将 `items` 属性传递给内层组件。内层组件接收 `items` 属性并将其渲染为一个无序列表。 使用这个组件可以这样: ```html <template> <outer-component title="My List" :items="['Item 1', 'Item 2', 'Item 3']"></outer-component> </template> <script> import OuterComponent from './OuterComponent.vue'; export default { name: 'App', components: { OuterComponent } } </script> ``` 这将渲染一个外层组件,标题为 `My List`,并将一个字符串数组作为 `items` 属性传递给外层组件。外层组件将 `items` 属性传递给内层组件,内层组件将其渲染为一个无序列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值