vue 组件 全局注册和局部注册的实现


Posted in Javascript onFebruary 28, 2018

全局注册,注册的组件需要在初始化根实例之前注册了组件;

局部注册,通过使用组件实例选项注册,可以使组件仅在另一个组件或者实例的作用域中可用:

全局组件

js

Vue.component('tab-title',{
   props:['title'],
   template:'<li v-on:click="$emit(\'change\')">{{title}}</li>'
 })
 Vue.component('tab-content',{
   props:['content'],
   template:'<div>{{content}}</div>'
 })

局部组件demo:

html

<div id="app">
  <ul class="navTab">
   <li v-for="(navTab,index) in navTabs" is="tab-title" v-bind:info="navTab.text" v-bind:class="{active:navTab.isActive}" v-on:addactive="switchActive(index)"></li>
  </ul>
  <div class="tabContent">
   <div v-for="navTab in navTabs" is="tab-content" v-bind:content="navTab.tabContent" 
   v-bind:class="['tab-panel',{active:navTab.isActive}]" v-if="navTab.isActive"></div>
  </div>
  </div>

js

var app=new Vue({
      el: '#app',
     components: {
       'tab-title': {
        props:['info'],//接受父元素传递的参数
        template:'<li v-on:click="$emit(\'addactive\')">{{info}}</li>'//点击时传递通过$emit子元素传递给父元素调用 addactive方法(不能使用驼峰写法)
        },
       'tab-content':{
         props:["content"],
        template:'<div>{{content}}</div>'
       }
     },
     methods:{
       switchActive:function(index){
        for(var i=0;i<this.navTabs.length;i++){
         this.navTabs[i].isActive=false;
        }
        this.navTabs[index].isActive=true;
        
       }
     },
     data:{
      navTabs:[
       {
        text:"tab1",
        isActive:true,
        tabContent:'this is tab1 content'
       },
       {
        text:"tab2",
        isActive:false,
        tabContent:'this is tab2 content'
       },
       {
        text:"tab3",
        isActive:false,
        tabContent:'this is tab3 content'
       }
      ]
     }
    });

组件实例的作用域是孤立的。这意味着不能再子组件的模板内直接引用父组件的数据。要让子组件可以使用父组件的数据,我们需要通过子组件的props选项。

子组件要显式地用 props 选项声明它期待获得的数据

在模板中,要动态地绑定父组件的数据到字模板的props,与绑定到任何普通的HTMO特性相类似。就是使用 v-bind。每当父组件的数据变化时,该变化也会传递给子组件:

所有的vuejs组件都是被扩展的vue实例

每一个Vue实例都会代理这个实例的data属性对象里的所有的属性

所有的Vue实例本身保罗的属性和方法,都以$开头来区别,对应Vue.set

例如:

vm.$data

vm.$methods

vm.$watch

这个有利于和data属性对象的数据来区分

多有的指令都以v-xxx形式存在:

以上这篇vue 组件 全局注册和局部注册的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
Feb 27 Javascript
jQuery:节点(插入,复制,替换,删除)操作
Mar 04 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
JavaScript获取function所有参数名的方法
Oct 30 Javascript
js对象浅拷贝和深拷贝详解
Sep 05 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
flexslider.js实现移动端轮播
Feb 05 Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 Javascript
Vue的土著指令和自定义指令实例详解
Feb 04 Javascript
boostrap模态框二次弹出清空原有内容的方法
Aug 10 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 Javascript
vue 自定义全局方法,在组件里面的使用介绍
Feb 28 #Javascript
Vue2.0子同级组件之间数据交互方法
Feb 28 #Javascript
bootstrap table支持高度百分比的实例代码
Feb 28 #Javascript
vue 2.x 中axios 封装的get 和post方法
Feb 28 #Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 #Javascript
vue组件传递对象中实现单向绑定的示例
Feb 28 #Javascript
在Vue组件中使用 TypeScript的方法
Feb 28 #Javascript
You might like
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
2016/03/09 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
理解JavaScript原型链
2016/10/25 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
Python字典简介以及用法详解
2016/11/15 Python
Python unittest单元测试框架总结
2018/09/08 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
基于python的列表list和集合set操作
2019/11/24 Python
python db类用法说明
2020/07/07 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
五种Python转义表示法
2020/11/27 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
大三在校生电子商务求职信
2013/10/29 职场文书
培训讲师邀请函
2014/01/10 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
个人自我鉴定总结
2014/03/25 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
高三语文复习计划
2015/01/19 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
如何做好工作总结!
2019/04/10 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
mysql创建存储过程及函数详解
2021/12/04 MySQL
Python OpenCV形态学运算示例详解
2022/04/07 Python