关于单文件组件.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  THIS详解 面向对象
Mar 25 Javascript
js跟随滚动条滚动浮动代码
Dec 31 Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
js 格式化时间日期函数小结
Mar 20 Javascript
javascript的几种写法总结
Sep 30 Javascript
JS+CSS3制作炫酷的弹窗效果
Nov 08 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
Vue中的vue-resource示例详解
Nov 02 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
JavaScript中isPrototypeOf函数
Nov 07 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
PHP开发中四种查询返回结果分析
2011/01/02 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
让FireFox支持innerText的实现代码
2009/12/01 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
js中this的用法实例分析
2015/01/10 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
webpack常用配置总览(小结)
2019/11/18 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
详解Django通用视图中的函数包装
2015/07/21 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
flask session组件的使用示例
2018/12/25 Python
python 为什么说eval要慎用
2019/03/26 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
2015年高考寄语或鼓励的话
2015/03/23 职场文书
工作证明书
2015/06/15 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python