Vue自己写组件——Demo详细步骤
公司近期发力,同时开了四五个大项目,并且都是用Vue来做的,我很荣幸的被分到了写项目公用模块的组,所以需要将公用的部分提取成组件的形式,供几个项目共同使用,下面详细讲一下写Vue组件的具体步骤。
一、创建组件文件
假如几个项目共用一个头部组件header,我们先建立所需要的文件:header.vue 存放header的模板等内容,index.js 是编写header组件的js文件

二、编写组件模板文件
//这里是header.vue文件
<template>
<div class="header">
我是header模板........
</div>
</template> <script>
export default{
name: '',
data(){
return {}
}
}
</script>
<style>
</style>
三、编写组件文件
// 这里是index.js文件
import myHeader from './header' // ./表示当前目录,header表示header.vue(自动补全后缀) const Header = {
install : function(Vue){
Vue.component('ele-header', myHeader)
}
} export default Header
首先导入模板文件header.vue定义为变量myHeader准备使用,接着通过install方法注册组件(组件必须先注册,后使用,否则会报错)
install方法表示 在main.js(项目的入口文件,也可能是 entry.js等等)中,如果使用Vue.use()方法的话,则会默认调用 install方法
调用install方法后,会通过Vue.component()方法全局注册该组件,注册完成后我们的组件就可以使用了。
// 这里为基础薄弱的同学附上Vue.component方法的使用说明
// Vue.component(组件在HTML文件中使用时的标签名称, template) // 注册模板
Vue.component('header', {
template: '<div class="header">hello world</div>'
}) // 使用模板
<div id="container">
<header></header>
</div> // F12查看<header>元素的解析结果
<div class="header">hello world</div> // 页面展示
hello world
四、在项目中引入组件
webpack首先会加载项目入口文件,这里是main.js,然后根据各种import去寻找相应的文件依赖并将文件加载进来,所以我们在main.js里面引入组件
// 这里是项目入口文件main.js
import Vue from 'vue'
import App from './app.vue' // 引入header组件 index.js是组件的默认入口
import Header from './components/header/index'
// Vue.use()方法会触发index.js中的install方法
Vue.use(Header); new Vue({
el: '#app', // 挂载项目
components: { App }
})
五、使用组件
// 这里是app.vue文件,项目挂载在#app元素下,所以header组件必须在该元素内部使用
<template>
<div id="app">
<ele-header></ele-header>
</div>
</template>
至此,组件的创建、注册、使用就完成了。
Vue自己写组件——Demo详细步骤的更多相关文章
- vue如何写组件(script标签引入的方式)
很多人知道.vue结构的单文件组件形式,不过这种单文件组件的结构如果要加入到现有的jquery项目中就比较麻烦了,那如果我们又想用vue来写模板,又不想引入vue-cli管理,那该怎么来写组件呢?别着 ...
- vue 自己写组件。
最近在网上看到很多大神都有写博客的习惯,坚持写博客不但可以为自己的平时的学习做好记录积累 无意之中也学还能帮助到一些其他的朋友所以今天我也注册一个账号记录一下学习的点滴!当然本人能力实在有限写出的文章 ...
- vue 手写组件 集合
Num.1 : 链接 向右滑动, 显示删除按钮, 根据touchStart touchEnd 的 clientX 差距 > 30; 说明是向左滑动, 显示; 改变 e.currentTarg ...
- webpack打包vue单文件组件
一.vue单文件组件 ①文件扩展名为 .vue 的 就是single-file components(单文件组件) ②参考文档:单文件组件 二.webpack加载第三方包 ①项目中,如果需要用到一些第 ...
- Vue学习之--------组件的基本使用(非单文件组件)(代码实现)(2022/7/22)
文章目录 1.为啥要使用组件 2.基本使用 3.代码实例 4.测试效果 5.注意点 1.为啥要使用组件 好用啊.像堆积木一样 2.基本使用 Vue中使用组件的三大步骤: 一.定义组件(创建组件) 二. ...
- 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo
前言 前端已经过了单兵作战的时代了,现在一个稍微复杂一点的项目都需要几个人协同开发,一个战略级别的APP的话分工会更细,比如携程: 携程app = 机票频道 + 酒店频道 + 旅游频道 + ..... ...
- VUE -- 如何快速的写出一个Vue的icon组件?
伴随着Vue的诞生,它似乎就被人寄予厚望,不仅仅是因为其轻量级的MVVM设计方式,而且其实现了组件化开发模式,所以越来越多的人会拿Vue和AngularJS.React Native做比较.具体关于它 ...
- Vue异步组件Demo
Vue异步组件Demo 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了进一步简化,Vue.js 允许将组件定义为一个工厂函数,异步地解析组件的定义.Vue.js 只在组件需要 ...
- Vue.js之组件嵌套小demo
Vue.js之组件嵌套的小demo项目 第一步:初始化一个wabpack项目,这里不在复述.第二步:在components文件夹下新建Header.vue Footer.vue和Users.vue三个 ...
随机推荐
- 阅读《Android 从入门到精通》(12)——自己主动完毕文本框
自己主动完毕文本框(AutoCompleteTextView) java.lang.Object; android.view.View; android.view.TextView; android. ...
- java中的集合操作类(未完待续)
申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...
- 通过Graph 浏览器体验Microsoft Graph
作者:陈希章 发表于 2017年3月18日 上一篇介绍了Microsoft Graph的基本概念,接下来我们快速体验一下Microsoft Graph到底能做什么? 为了帮助开发人员直观和快速体验Mi ...
- java实现播放mp3功能
1.首先引入jlayer.jar <!-- https://mvnrepository.com/artifact/javazoom/jlayer --> <dependency> ...
- 大数据学习(2)HDFS文件管理
命令行管理HDFS [root@server1 bin]# hadoop fs Usage: hadoop fs [generic options] [-appendToFile <locals ...
- springboot(十五):springboot+jpa+thymeleaf增删改查示例
这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...
- Intellij IDEA设置运行时Java参数
1.选中类,点击顶部菜单:Run-->Edit Configuration,如下所示: 2.选择Application,指定的类,在右边选择Configuration,并在VM options中 ...
- Lua中使用状态机FSM简单例子
FSM 有限状态机: 一个有限状态机是一个设备,或者是一个设备模型,具有有限数量的状态,它可以在任何给定的时间根据输入进行操作,使得一个状态变换到另一个状态,或者是使一个输入或者一种行为的发生.一个有 ...
- 【java】读取资源文件key->value,java.util.ResourceBundle
package 国际化; import java.util.ResourceBundle; public class TestResource { public static void main(St ...
- php实现socket推送技术
在socket出现之前已经有ajax定时请求.长轮询等方案,但都不能满足需求,socket就应用而生了. socket基本函数socket 总结下常用的socket函数 服务端: socket_cre ...