关于单文件组件.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 相关文章推荐
jquery图片切换实例分析
Apr 15 Javascript
JavaScript正则表达式之multiline属性的应用
Jun 16 Javascript
跟我学习javascript的for循环和for...in循环
Nov 18 Javascript
JS实现的简单图片切换功能示例【测试可用】
Feb 14 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 Javascript
vue 组件的封装之基于axios的ajax请求方法
Aug 11 Javascript
如何换个角度使用VUE过滤器详解
Sep 11 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 Javascript
javascript 内存模型实例详解
Apr 18 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
example2.php
2006/10/09 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
深入PHP许愿墙模块功能分析
2013/06/25 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
Prototype Date对象 学习
2009/07/12 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
JS原型链怎么理解
2016/06/27 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
python PIL模块与随机生成中文验证码
2016/02/27 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
对python中的logger模块全面讲解
2018/04/28 Python
PyQt5实现简易电子词典
2019/06/25 Python
python把转列表为集合的方法
2019/06/28 Python
Django实现文件上传下载功能
2019/10/06 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Python使用Pygame绘制时钟
2020/11/29 Python
应届生体育教师自荐信
2013/10/03 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
学生周末长期请假条
2014/02/15 职场文书
运动会通讯稿500字
2014/02/20 职场文书
单位车辆管理制度
2015/08/05 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL
Kubernetes控制节点的部署
2022/04/01 Servers
GO中sync包自由控制并发示例详解
2022/08/05 Golang