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 相关文章推荐
jquery nth-child()选择器的简单应用
Jul 10 Javascript
基于jQuery的图片剪切插件
Aug 03 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 Javascript
javascript获取重复次数最多的字符
Jul 08 Javascript
javascript 用函数实现继承详解
May 28 Javascript
ES6所改良的javascript“缺陷”问题
Aug 23 Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
使用Vue-Router 2实现路由功能实例详解
Nov 14 Javascript
layui switch 开关监听 弹出确定状态转换的例子
Sep 21 Javascript
JavaScript ES6 Class类实现原理详解
May 08 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/24 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
优化Python代码使其加快作用域内的查找
2015/03/30 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
python FTP编程基础入门
2021/02/27 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
企业承诺书格式
2014/05/21 职场文书
导游词之张家界
2019/10/31 职场文书
MySQL约束超详解
2021/09/04 MySQL