关于单文件组件.vue的使用


Posted in Javascript onSeptember 20, 2018

vuejs 自定义了一种.vue文件,可以把html, css, js 写到一个文件中,从而实现了对一个组件的封装, 一个.vue 文件就是一个单独的组件。由于.vue文件是自定义的,浏览器不认识,所以需要对该文件进行解析。 在webpack构建中,需要安装vue-loader 对.vue文件进行解析。在 sumlime 编辑器中,我们 书写.vue 文件,可以安装vue syntax highlight 插件,增加对文件的支持。

环境搭建完毕,利用vue-router实现了页面跳转,那么现在要处理的就是页面的内容了。

一个页面可以看作是由各种各样的组件组成的,大至一个页面,小至一个按钮都可以作为一个组件,页面的组件化可以大大提高代码的重用性,免除了很多重复性的劳动。vue允许把用户组件写成单个的文件,尾缀为.vue,然后再以模块的方式引入,下面是我的例子:

入口文件:

import Vue from 'vue';
import VueRouter from 'vue-router'
 
import Main from'./components/main.vue'
import Login from'./components/login.vue'
import Content from'./components/content.vue'
Vue.use(VueRouter);
 
const routes=[
  {path:'/login',component:Login},
  {path:'/main',component:Main},
  {path:'/main/content',component:Content},
  {path:'/',redirect:'/login'}
];
const router=new VueRouter({
    routes
  });
var app=new Vue({
  router,
  el:'#app',
  template:'<router-view></router-view>'
});

这是其中的一个组件content:

<template>
  <p class="demo-title">{{msg}}</p>
</template>
<script>
  export default{
    data:function(){
      return{msg:"hello"}
    }
  }
</script>
<style>
  .demo-title{color:red;}
</style>

这里用上了ES6的模块加载功能:export和import,在组件中使用export,可以把组件定义为一个模块,import则可以把已定义的组件,这样就能方便处理模块间的依赖关系。

一个vue文件一般来说有三个元素:template(html模板),script,style,我们在script中编写组件所需要的依赖和交互代码,并用export将整个组件以模块的方式定义。在script中,组件的编写方法与在vue对象中的编写组件的方法并无二致,所以也可以把template写进script里面。

一个组件对应一个文件,这样子就可以在组件内部处理组件自身的内容,css也可以只针对组件生效,十分方便。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript Promise简单学习使用方法小结
May 17 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
Node.js中多进程模块Cluster的介绍与使用
May 27 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
解决修复npm安装全局模块权限的问题
May 17 Javascript
iview Upload组件多个文件上传的示例代码
Sep 30 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
Oct 09 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
JS使用for in有序获取对象数据
May 19 Javascript
基于Vue CSR的微前端实现方案实践
May 27 Javascript
微信小程序实现拍照和相册选取图片
May 09 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 #Javascript
jQuery pjax 应用简单示例
Sep 20 #jQuery
微信小程序scroll-view横向滑动嵌套for循环的示例代码
Sep 20 #Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 #Javascript
vue中接口域名配置为全局变量的实现方法
Sep 20 #Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 #Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 #Javascript
You might like
php adodb分页实现代码
2009/03/19 PHP
PHP实现下载功能的代码
2012/09/29 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
javascript 面向对象 function类
2010/05/13 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
javascript表单验证大全
2015/08/12 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
python实现粒子群算法
2020/10/15 Python
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
Why we need EJB
2016/10/20 面试题
计算机专业毕业生求职信分享
2013/12/24 职场文书
外贸英语专业求职信范文
2013/12/25 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL