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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
jquery选择器使用详解
Apr 08 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
jQuery插件实现无缝滚动特效
Nov 24 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
JavaScript中七种流行的开源机器学习框架
Oct 11 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 Javascript
vue cli4.0项目引入typescript的方法
Jul 17 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
JavaScript 数组去重详解
Sep 15 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
PHP 类型转换函数intval
2009/06/20 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
php生成圆角图片的方法
2015/04/07 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
nodejs如何获取时间戳与时间差
2016/08/03 NodeJs
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
python获取当前计算机cpu数量的方法
2015/04/18 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
python对常见数据类型的遍历解析
2019/08/27 Python
python实现飞机大战小游戏
2019/11/08 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
django实现后台显示媒体文件
2020/04/07 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
人事主管岗位职责
2014/01/30 职场文书
承认错误的检讨书
2014/01/30 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
七一党日活动总结
2014/07/08 职场文书
学校2014年度工作总结
2014/12/06 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
消防安全培训工作总结
2015/10/23 职场文书
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python