05-Vue中的局部组件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .main{
            width: 100%;
        }
        .head{
            width: 100%;
            height: 80px;
            background-color: purple;

        }
        .main2{
            width: 100%;
            height: 1000px;
        }
        .main2 .aside{
            float: left;
            width: 30%;
            height: 100%;
            background-color: green;
        }
        .main2 .content{
            float: left;
            width: 70%;
            height: 100%;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="app"></div>
    <script type="text/javascript" src="./node_modules/vue/dist/vue.min.js"></script>
    <script type="text/javascript">

        // 全局组件

        // 第一个参数是组件的名字,第二个参数是options
        Vue.component('Vbtn',{
            template:`
                <button>按钮</button>
            `
        });

        var Vcontent = {
               template:`
                <div class='content'>我是内容组件
                    <Vbtn />
                </div>
            `
           }

           var Vaside = {
               template:`
                <div class='aside'>我是侧边栏组件
                    <Vbtn></Vbtn>
                </div>
            `
           };


        // 局部组件:声子  挂子 用子
        var Vheader  = {
            template:`
                <div class='head'>
                    我是头部组件
                    <Vbtn></Vbtn>
                </div>
            `
        };


        // 1.声明局部组件
        var App  = {
            template:`
                <div class='main'>
                    <Vheader />
                    <div class = 'main2'>
                        <Vaside />
                        <Vcontent />
                    </div>
                </div>
            `,
            data(){
                return {

                }
            },
            components:{
                Vheader,
                Vaside,
                Vcontent
            }
        };

        new Vue({
            el:'#app',
            template:'<App></App>',
            data(){
                return {

                }
            },
            // 2.挂载组件
            components:{
                App
            }
        });

    </script>

    
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
unplugin-vue-components是基于Vue的插件,它提供了一种简单的方式来自动注册Vue组件。它通过扫描指定目录下的组件文件,自动将它们注册为全局或局部组件。 具体来说,unplugin-vue-components需要以下几个步骤来注册组件: 1. 安装unplugin-vue-components插件。 ```bash npm install -D unplugin-vue-components ``` 2. 在rollup或webpack等构建工具引入该插件,并指定需要注册的组件目录。 ```javascript import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import Components from 'unplugin-vue-components/vite' export default defineConfig({ plugins: [ vue(), Components({ // 指定需要注册的组件目录 dirs: ['src/components'], // 指定需要注册的组件类型 extensions: ['vue', 'ts'], // 全局注册组件 dts: true, // 标记已经注册的组件 globalNamespaces: ['MyComponents'], }) ] }) ``` 在上述代码,我们通过`dirs`参数指定了需要注册的组件目录,在这个目录下的所有.vue和.ts文件都将被扫描并注册为组件。如果需要注册全局组件,可以将`dts`参数设置为true,这样可以在代码直接使用组件名而无需先导入该组件。同时,我们还可以通过`globalNamespaces`参数为已经注册的组件添加一个命名空间,以避免组件名称冲突。 3. 在Vue应用使用注册的组件。 ```vue <template> <div> <my-component /> </div> </template> <script> export default { name: 'App', components: { // 局部注册组件 'my-component': MyComponents.MyComponent } } </script> ``` 在上述代码,我们使用了注册的名为`my-component`的组件,如果该组件是全局注册的,那么我们可以直接使用`<my-component />`标签来引用它。如果该组件局部注册的,我们需要先在`components`选项将其注册为局部组件,然后才能在模板使用它。 这样,我们就完成了使用unplugin-vue-components插件注册Vue组件的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值