关于单文件组件.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 相关文章推荐
网页中实现浏览器的最大,最小化和关闭按钮
Mar 12 Javascript
javascript 拖动表格行实现代码
May 05 Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
js获取页面description的方法
May 21 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
使用js复制链接中的部分文字的方法
Jul 30 Javascript
老司机带你解读jQuery插件开发流程
May 16 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
Dec 05 Javascript
bootstrap时间插件daterangepicker使用详解
Oct 19 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 Javascript
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
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读取RSS(Feed)简单实例
2014/06/12 PHP
四个PHP非常实用的功能
2015/09/29 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
python读写csv文件方法详细总结
2019/07/05 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
用python批量下载apk
2020/12/29 Python
爱心捐书活动总结
2014/07/05 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
大学生学年个人总结
2015/02/15 职场文书
python中24小时制转换为12小时制的方法
2021/06/18 Python