关于单文件组件.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 调试利器 Firebug使用详解六
Jul 05 Javascript
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 Javascript
jquery获取input的value问题说明
Aug 19 Javascript
在ASP.NET中使用JavaScript脚本的方法
Nov 12 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
leaflet的开发入门教程
Nov 17 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
基于JavaScript实现带数据验证和复选框的表单提交
Aug 23 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
Vue页面骨架屏的实现方法
May 22 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
解析php5配置使用pdo
2013/07/03 PHP
php二维数组排序详解
2013/11/06 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
PHP迭代器和生成器用法实例分析
2019/09/28 PHP
jQuery 入门讲解1
2009/04/15 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
webpack源码之loader机制详解
2018/04/06 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python读写LMDB文件的方法
2018/07/02 Python
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
护士专业推荐信
2013/11/02 职场文书
实习生自荐信范文分享
2013/11/27 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
爱情保证书大全
2014/04/29 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
运动会方队口号
2014/06/07 职场文书
党员公开承诺书2015
2015/01/21 职场文书
大学生个人学习总结
2015/02/15 职场文书
社团招新宣传语
2015/07/13 职场文书
cf战队宣传语
2015/07/13 职场文书
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL