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对象的比较
Feb 26 Javascript
jquery插件制作简单示例说明
Feb 03 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
Aug 07 Javascript
IE和Firefox之间在JavaScript语法上的差异
Apr 22 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
微信小程序事件对象中e.target和e.currentTarget的区别详解
May 08 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
Aug 31 Javascript
element-ui 弹窗组件封装的步骤
Jan 22 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
详解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表单重复提交实现方法
2015/09/29 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
python实现调用其他python脚本的方法
2014/10/05 Python
六个窍门助你提高Python运行效率
2015/06/09 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
Python实现网站注册验证码生成类
2017/06/08 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
通过Python实现一个简单的html页面
2020/05/16 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
学生干部的自我评价分享
2014/01/18 职场文书
秘书英文求职信范文
2014/01/31 职场文书
数学国培研修感言
2014/02/13 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
物流业务员岗位职责
2015/04/03 职场文书
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis