Vue单文件组件基础模板小结


Posted in Javascript onAugust 10, 2017

背景

相信大家在使用Vue开发项目时,基本都是以单文件组件的形式开发组件的,这种方式好处多多:

1.代码集中,便于开发、管理和维护

2.可复用性高,直接将vue文件拷贝到新项目中

我暂时就想到这两点,童鞋们可以在评论里帮我补充;因为有这么多优点,所以决定有必要将vue组件的常用配置项提炼出来,形成一个组件模板,方便日后项目开发复用

<template>
 <div>
  <h1>{{title}}</h1>
  <ChildComponents></ChildComponents>
 </div>
</template>
<script>
//子组件要提前引入,才可使用
import ChildComponents from './ChildComponents.vue'
//也可引入一些公共Js脚本或类库
import Cookie from '../lib/cookie.js'

//Js部分尽量采用ES6语法,webpack babel插件会转义兼容
export default {
 //组件私有数据(必须是function,而且要return对象类型)
 data () {
  return {
   title: '组件标题',
   firstName: '',
   lastName: '',
  }
 },
 //父组件传递过来的数据(两种方式声明:1.数组 2.对象)
 //数组方式
 props: ['age'],
 //对象方式
 /*props: {
  age: {
   type: Number,
   default: 0,
   required: true,
   validator: function (value) {
    return value >= 0
   }
  }
 }*/
 //计算属性
 computed: {
  fullName () {
   return this.firstName + this.lastName
  }
 },
 //监听
 watch: {
  title (preVal, newVal) {
    console.log(`改变之前的值:${preVal};改变之后的值:${newVal}`)
  }
 },
 //函数集,自己封装,便于开发使用
 methods: {
  getCurrentDate () {
   return new Date().toLocaleDateString()
  }
 },
 //生命周期钩子:实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用
 beforeCreated () {
  console.log('component before created')
 },
 //生命周期钩子:组件实例完成创建之后调用
 created () {
  console.log('component created')
 },
 //生命周期钩子:组件实例渲染完成时调用
 mounted () {
  console.log('component mounted')
 },
 //要用到哪些子组件(如果组件已是最小粒度,那么可省略该属性)
 components: {
  ChildComponents
 }
}
</script>
<style lang="scss" scoped>
/**使用scss编写样式,既可提高开发效率,也方便维护
* scoped省略后,该样式片段会应用到页面全局
* 支持import语法引入css文件
*/
@import "../base/reset.css";
div {
 h1 {
  color: #c23a3f;
 }
}

</style>

结语

以上组件模板中的配置不是最全的,但都是最常用的,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 Javascript
有关于JS构造函数的重载和工厂方法
Apr 07 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
Jun 12 Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 Javascript
jquery ajax 如何向jsp提交表单数据
Aug 23 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
Feb 05 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
24行JavaScript代码实现Redux的方法实例
Nov 17 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 Javascript
javascript使用Blob对象实现的下载文件操作示例
Apr 18 Javascript
基于JavaScript实现淘宝商品广告效果
Aug 10 #Javascript
Vue数组更新及过滤排序功能
Aug 10 #Javascript
Webpack性能优化 DLL 用法详解
Aug 10 #Javascript
详解React Native网络请求fetch简单封装
Aug 10 #Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 #jQuery
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 #Javascript
jquery.uploadView 实现图片预览上传功能
Aug 10 #jQuery
You might like
PHP的开发框架的现状和展望
2007/03/16 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
javascript textContent与innerText的异同分析
2010/10/22 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
Angular2库初探
2017/03/01 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
Ubuntu下安装PyV8
2016/03/13 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Django 再谈一谈json序列化
2020/03/16 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
新媒传信软件测试面试题
2013/02/24 面试题
通信专业个人自我鉴定
2013/10/21 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
给领导的检讨书
2014/02/16 职场文书
学习党代会心得体会
2014/09/05 职场文书
2014办公室年度工作总结
2014/12/09 职场文书