首页 > web前端 > js教程 > 正文

vue.js组件中全局注册和局部注册的简单介绍以及实例分析

不言
发布: 2018-08-11 16:15:53
原创
2085人浏览过

本篇文章给大家带来的内容是关于vue.js组件中全局注册和局部注册的简单介绍以及实例分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、全局注册实例(按照官网的例子下面是代码)

  <div id="app">
     <com-btn></com-btn>
     <com-btn></com-btn>
 </div>
登录后复制
<script>
        Vue.component('com-btn',{
            data:function(){
                return{
                    num:0,
                }
            },
            template:`<button v-on:click='change'>点我{{num}}次</button>`,
            methods:{
                change:function(){
                    this.num += 1;
                }
            }
        })
       var vm = new Vue({
           el:'#app',
           data:{

           },
           
       })
    </script>
登录后复制

我们在注册一个组件的时候需要给他起一个名字比如com-btn,从上面的代码我们可以看见

Vue.component('my-component-name', { /* ... */ })
登录后复制

这个组件名字就是我们注册的这个组件com-btn的第一个参数.这个组件就是全局注册的,在他们注册之后,我们可以用在任何新创建的vue根实例(new Vue)里面。

值得注意的是所有组件必须写在根实例的前面才会生效,

2局部祖册的实例

立即学习前端免费学习笔记(深入)”;

<script>
        var childcom ={
            data:function(){
                return{
                    num:0,
                }
            },
            template:`<button v-on:click='change'>点我{{num}}次</button>`,
            methods:{
                change:function(){
                    this.num += 1;
                }
            }
        }
       var vm = new Vue({
           el:'#app',
           data:{

           },
           components:{
               'com-btn':childcom,//调用这个组件
           }
       })
    </script>
登录后复制

局部注册的好处 就是当你使用的是webpack这样的构建系统时,如果是用全局注册的这种方法注册的组件,那么当你不使用某一个组件的时候,它仍然会存在最终的构建结果之中,这就增加的无谓的js下载。

所以我们可以通过一个简单的js对象来注册组件

var ComponentA = { /* ... */ }
登录后复制

在需要使用这个组件时, 你只需要在你的你的根实例里面去调用这个定义的组件即可。

Nanonets
Nanonets

基于AI的自学习OCR文档处理,自动捕获文档数据

Nanonets 258
查看详情 Nanonets
new Vue({
  el: '#app'
  components: {
    'component-a': ComponentA,
    'component-b': ComponentB
  }
})
登录后复制

值得注意的是根实例的属性名字是components,千万不要忘记s。组件中的其他属性和实例的一样但是data必须是一个函数。

对于components对象中的每个的属性来说就是自定义组件的名字,属性值就是这个组件的选项对象。

局部注册的组件在其子组件中是不可用的,如果你希望componentA在componentB中可以使用那你需要下面这样写法:

var ComponentA = { /* ... */ }

var ComponentB = {
  components: {
    'component-a': ComponentA
  },
  // ...
}
登录后复制

 相关推荐:

vue全局注册和局部注册使用详解

vue组件注册表单

以上就是vue.js组件中全局注册和局部注册的简单介绍以及实例分析的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号