关于单文件组件.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 相关文章推荐
js parentElement和offsetParent之间的区别
Mar 23 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
php的文件上传入门教程(实例讲解)
Apr 10 Javascript
js绘制购物车抛物线动画
Nov 18 Javascript
利用JS提交表单的几种方法和验证(必看篇)
Sep 17 Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 Javascript
判断滚动条滑到底部触发事件(实例讲解)
Nov 15 Javascript
利用vue+elementUI实现部分引入组件的方法详解
Nov 22 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
Aug 05 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
May 28 Javascript
jquery简单实现纵向的无缝滚动代码实例
Apr 01 jQuery
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 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
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
Angular实现form自动布局
2016/01/28 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
[55:23]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
PyQt5实现简易电子词典
2019/06/25 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
机械工程师求职自我评价
2013/09/23 职场文书
大学专科生推荐信范文
2013/11/23 职场文书
财务与信息服务专业推荐信
2013/11/28 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
比赛主持人开场白
2015/05/29 职场文书
步步惊心观后感
2015/06/12 职场文书
婚礼迎宾词大全
2015/08/10 职场文书