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 相关文章推荐
写的htc的数据表格
Jan 20 Javascript
JQuery Ajax 跨域访问的解决方案
Mar 12 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
JS 控件事件小结
Oct 31 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
layui.js实现的表单验证功能示例
Nov 15 Javascript
vue根据进入的路由进行原路返回的方法
Sep 26 Javascript
利用Vue构造器创建Form组件的通用解决方法
Dec 03 Javascript
javascript实现简易的计算器
Jan 17 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学习笔记 数组的常用函数
2011/06/13 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
CI框架Session.php源码分析
2014/11/03 PHP
PHP模块化安装教程
2016/06/01 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
JS中的作用域链
2017/03/01 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python中pygame安装方法图文详解
2015/11/11 Python
python 显示数组全部元素的方法
2018/04/19 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
老人祝寿主持词
2014/03/28 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL