vue组件(全局,局部,动态加载组件)


Posted in Javascript onSeptember 02, 2018

说说Vue.js组件

什么是组件:组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展。

vue组件有两种,一种是全局组件,一种是局部组件。整个项目经常用到的用全局写法,用到比较少的专供特定页面用的使用局部组件。

one----全局组件引入写法:在项目的main.js中:

第一种,在main.js直接写template:' 模版字符串'

Vue.component('tab-home', { template: `<div>Home component</div>`
})
Vue.component('tab-posts', { template: `<div>Posts component</div>`
})
Vue.component('tab-archive', { template: `<div>Archive component</div>`
})

第二种,分别写tab-home.vue Tab-Posts'.vue Tab-Archive'.vue然后import TabHome from ‘ Tab-Home.vue '

Vue.use( TabHome); // 自定义全局组件的时候需要Vue.use();
  Vue.component('tab-home', TabHome)); //初始化组件
two ----局部组件引入 ,写在需要的引入的组件,如helloworld
import TabAa from './tab-aa.vue'
import TabBb from './tab-bb.vue'
import TabCc from './tab-cc.vue'
export default {
name: 'HelloWorld',
components:{TabAa,TabBb,TabCc},
three----动态组件(tab切换 使用:is="currentTabComponent")
<template>
<>
<button
v-for="tab in tabs"
v-bind:key="tab"
v-bind:class="['tab-button', { active: currentTab === tab }]"
v-on:click="currentTab = tab"
>{{ tab }}</button>
<component
v-bind:is="currentTabComponent"
class="tab"
></component>
</div>
</template>
export default {
name: 'HelloWorld',
components:{TabAa,TabBb,TabCc},
data () {
return {
currentTab: 'Home',
tabs: ['Home', 'Posts', 'Archive','Aa','Bb','Cc'],
loginType:'username',
msg: 'Welcome to Your Vue.js App'
}
},
computed: {
currentTabComponent: function () {
return 'tab-'+this.currentTab.toLowerCase()
}
},
样式:
.tab-button {
padding: 6px 10px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
border: 1px solid #ccc;
cursor: pointer;
background: #f0f0f0;
margin-bottom: -1px;
margin-right: -1px;
}
.tab-button:hover {
background: #e0e0e0;
}
.tab-button.active {
background: #e0e0e0;
}
.tab {
border: 1px solid #ccc;
padding: 10px;
}

总结

以上所述是小编给大家介绍的vue组件(全局,局部,动态加载组件)实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
COM中获取JavaScript数组大小的代码
Nov 22 Javascript
setTimeout与setInterval在不同浏览器下的差异
Jan 24 Javascript
JQuery.closest(),parent(),parents()寻找父结点
Feb 17 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
Mar 12 Javascript
JavaScript类型系统之Object详解
Jan 07 Javascript
浅析JavaScript中浏览器的兼容问题
Apr 19 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
JS匿名函数内部this指向问题详析
May 10 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 Javascript
countup.js实现数字动态叠加效果
Oct 17 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
详解jQuery中的easyui
Sep 02 #jQuery
vue-cli脚手架的安装教程图解
Sep 02 #Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 #Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
Sep 02 #Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 #Javascript
修改vue+webpack run build的路径方法
Sep 01 #Javascript
解决vue项目使用font-awesome,build后路径的问题
Sep 01 #Javascript
You might like
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
深入理解node.js http模块
2018/01/24 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
python的几种开发工具介绍
2007/03/07 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python制作CSDN免积分下载器
2015/03/10 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
python属于软件吗
2020/06/18 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
金士达面试非笔试
2012/03/14 面试题
毕业生如何写自荐信
2014/03/26 职场文书
感恩教育月活动总结
2014/07/07 职场文书
学生检讨书范文
2014/10/30 职场文书
西安兵马俑导游词
2015/02/02 职场文书
西湖英语导游词
2015/02/06 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android