公司近期发力,同时开了四五个大项目,并且都是用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详细步骤的更多相关文章

  1. vue如何写组件(script标签引入的方式)

    很多人知道.vue结构的单文件组件形式,不过这种单文件组件的结构如果要加入到现有的jquery项目中就比较麻烦了,那如果我们又想用vue来写模板,又不想引入vue-cli管理,那该怎么来写组件呢?别着 ...

  2. vue 自己写组件。

    最近在网上看到很多大神都有写博客的习惯,坚持写博客不但可以为自己的平时的学习做好记录积累 无意之中也学还能帮助到一些其他的朋友所以今天我也注册一个账号记录一下学习的点滴!当然本人能力实在有限写出的文章 ...

  3. vue 手写组件 集合

    Num.1 :  链接 向右滑动, 显示删除按钮,  根据touchStart touchEnd 的 clientX 差距 > 30; 说明是向左滑动, 显示; 改变 e.currentTarg ...

  4. webpack打包vue单文件组件

    一.vue单文件组件 ①文件扩展名为 .vue 的 就是single-file components(单文件组件) ②参考文档:单文件组件 二.webpack加载第三方包 ①项目中,如果需要用到一些第 ...

  5. Vue学习之--------组件的基本使用(非单文件组件)(代码实现)(2022/7/22)

    文章目录 1.为啥要使用组件 2.基本使用 3.代码实例 4.测试效果 5.注意点 1.为啥要使用组件 好用啊.像堆积木一样 2.基本使用 Vue中使用组件的三大步骤: 一.定义组件(创建组件) 二. ...

  6. 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo

    前言 前端已经过了单兵作战的时代了,现在一个稍微复杂一点的项目都需要几个人协同开发,一个战略级别的APP的话分工会更细,比如携程: 携程app = 机票频道 + 酒店频道 + 旅游频道 + ..... ...

  7. VUE -- 如何快速的写出一个Vue的icon组件?

    伴随着Vue的诞生,它似乎就被人寄予厚望,不仅仅是因为其轻量级的MVVM设计方式,而且其实现了组件化开发模式,所以越来越多的人会拿Vue和AngularJS.React Native做比较.具体关于它 ...

  8. Vue异步组件Demo

    Vue异步组件Demo 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了进一步简化,Vue.js 允许将组件定义为一个工厂函数,异步地解析组件的定义.Vue.js 只在组件需要 ...

  9. Vue.js之组件嵌套小demo

    Vue.js之组件嵌套的小demo项目 第一步:初始化一个wabpack项目,这里不在复述.第二步:在components文件夹下新建Header.vue Footer.vue和Users.vue三个 ...

随机推荐

  1. webrtc视频数据render流程

  2. 为PowerApps和Flow,Power BI开发自定义连接器

    作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Microsoft Flow,Power BI),相信对于大家会有一种跃 ...

  3. css3的动画特效--动画序列(animation)

    首先复习一下animation动画添加各种参数 (1)infinite参数,表示动画将无限循环.在速度曲线和播放次数之间还可以插入一个时间参数,用以设置动画延迟的时间.如希望使图标在1秒钟后再开始旋转 ...

  4. es6+require混合开发,兼容es6 module,import,export

    近一年,一直很忙,做了不少的项目,不过都不是太满意,毕竟是别人的作品,不好意思写出来.最近打算开发一个es6的项目,项目中用到require,本文主要讲解es6的module规范怎么与require的 ...

  5. HDU_1698 Just a Hook(线段树+lazy标记)

    pid=1698">题目请点我 题解: 接触到的第一到区间更新,须要用到lazy标记.典型的区间着色问题. lazy标记详情请參考博客:http://ju.outofmemory.cn ...

  6. SSI学习(二)

    1.SSI指令 #config:指定返回到client浏览器的错误消息.日期和文件大小所使用的格式. #echo:在 HTML 页中插入环境变量的值. #exec:执行一个应用程序或一条 shell ...

  7. android apk 的root 权限和USB adb 权限的差别

    USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权限.通常假设adb shell 看到是: Android 4.0 以后 ...

  8. Spring依赖注入原理

    接触过spring 的同学应该都知道依赖注入,依赖注入又称控制反转,其内涵就是,将创建某个bean的控制权力,由原来需要引用这个bean的bean转移(反转)到外部的spring IOC容器,由IOC ...

  9. Java IO学习要点导图

    Java IO的一些基础知识: 导图源文件保存地址:https://github.com/wanghaoxi3000/xmind

  10. Kafka详细的设计和生态系统

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 译者:人工智能资讯小编 本译文自Jean-Paul Azar 在 https://dzone.com 发表的 Kafka Detailed De ...