关于单文件组件.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 函数对象的多重身份
Jun 28 Javascript
Ubuntu 11.10 安装Node.js的方法
Nov 30 Javascript
JsRender实用入门教程
Oct 31 Javascript
JavaScript中的值类型转换介绍
Dec 31 Javascript
jQuery实现tab标签自动切换的方法
Feb 28 Javascript
浅析js中substring和substr的方法
Nov 09 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
在create-react-app中使用sass的方法示例
Oct 01 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 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网站基础优化方法小结
2008/09/29 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PHP下载远程文件到本地存储的方法
2015/03/24 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
js option删除代码集合
2008/11/12 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
js实现图片360度旋转
2017/01/22 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
使用requests库制作Python爬虫
2018/03/25 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
2014年酒店年度工作总结
2014/12/10 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python