关于单文件组件.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中使用css需要注意的地方小结
Sep 01 Javascript
jQuery数据显示插件整合实现代码
Oct 24 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
Feb 10 Javascript
JavaScript动态添加列的方法
Mar 25 Javascript
Javascript实现苹果悬浮虚拟按钮
Apr 10 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
浅谈javascript中的数据类型转换
Dec 27 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
浅谈Redux中间件的实践
Jul 27 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
Aug 08 Javascript
JS判断数组四种实现方法详解
Jun 29 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
Cakephp 执行主要流程
2010/03/24 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
jquery获取transform里的值实现方法
2017/12/12 jQuery
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
Django 自定义分页器的实现代码
2019/11/24 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
python中温度单位转换的实例方法
2020/12/27 Python
python中time包实例详解
2021/02/02 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
列车长先进事迹材料
2014/01/25 职场文书
法制宣传日活动总结
2014/04/29 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
孔繁森观后感
2015/06/10 职场文书