轻松学Vue组件之单文件组件

 更新时间:2023年03月08日 14:26:36   作者:Aic山鱼  
一个组件相当于是一个小模块,它是html、css与js的集合体,可以用于描述页面中的某个结构(模块),下面这篇文章主要给大家介绍了关于轻松学Vue组件之单文件组件的相关资料,需要的朋友可以参考下

前言

单文件组件在实际开发中是经常使用的,那么如何创建一个单文件组件呢?那么本篇就来简单入一下单文件组件。

一,创建单文件组件

1.切换到你想要创建该文件的目录下,我这里切换的是desktop这个目录,当然,也可以根据自己需要来进行切换该命令为 cd 目录/文件名称

2.打开cmd,输入npm config set registry https://registry.npm.taobao.org 切换/设置到淘宝镜像

安装全局vue脚手架(简单方便在哪里都可以使用)npm install -g @vue/cli

看到如下内容表示安装成功

3.使用vue create 项目名称 创建项目,成功后会有一个vue版本的选择(按键盘的下箭头即可切换),这里我们选的是Vue2

命令执行后,如果有下图所示,则表示创建成功(很贴心,下面第一行蓝色的代码就是切换到创建成功的目录上面,第二行则是运行该vue项目)

4.创建成功后该项目自带一个下图所示项目(到此为止一个基于脚手架的vue项目就完成了)

5.可以直接搜刚才所创建的文件,然后直接拖入vscode(有下面这些文件)我们可以找到src下面的components文件夹,在它里面有一个文件名叫HelloWorld.vue的文件,这里面就是写的上面图片的代码

下面简单的把该项目内的文件汇总了一下,文件创建完了,咱不能不知道这是干嘛的吧,

好奇的小伙伴会发现一个问题,就是在node_module下面有个vue文件,该文件内又包含着各种版本的vue,列如:vue.js ,vue.runtime.js等一大堆vue版本,下面来瞅瞅本本的区别

二,关于不同版本的Vue

vue.js与vue.runtime.xxx.js的区别

(1) .vue.js是完整版的Vue,包含:核心功能+模板解析器。

(2) . vue.runtime. xxx. js是运行版的Vue,只包含核心功能,没有模板解析器。

因为vue.runtime.xxx. js没有模板解析器,所以不能使用template配置项,需要使用

render函数接收到的createElement函数去指定具体内容。

三,vue. config. js配置文件

使用vue inspect > output. js可以查看到Vue脚手架的默认配置。

使用vue.config. js可以对脚手架进行个性化定制(下面是vue.config.js的配置,可供参考)

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false
})

四,ref属性

1.被用来给元素或子组件注册引用信息,也可以说是用来代替id的

2.应用在htm1标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(VueComponent)

使用方式:打标识: <h1 ref="xx">.....</h1> 或<School ref=" xxx" >< /School>获取: this.$refs. xxx

五,配置项props

功能:让组件接收外部传过来的数据

(1)传递数据:<Demo name= " xxx" />

(2)接收数据:

第一种方式(只接收)

props: ["name"]

第二种方式(限制类型)

  props: {
    name:string,
    age:Number
  }

第三种方式(限制类型、限制必要性、指定默认值)

  props :{
    name : {
    type:String, //类型
    required:true, //必要性
    default:'老王' //默认值
    }
  }

注: props 是只读的,虽然是只读但是还可以被修改,Vue底层会监测到props的修改,如果进行了修改,就会发出警告,如果需求确实需要修改,那么就把props的内容复制到data里面,然后通过修改data里面的内容实现需求

六,mixin(混入)

功能:可以把多个组件共用的配置提取成一 个混入对象

使用方式:

第一步定义混合,例如:data(){....},methods:{....}},将该组件的methods或者data配置项拿出去,放到mixin.js里面,这里是将methods放到了mixin.js里面

第二步使用混入

七,插件

功能:用于增强Vue

本质:包含insta1l方法的一个对 象,install的第一 个 参数是Vue, 第二个以后的参 数是插件使用者传递的据。

1.定义插件:install = function (Vue, options) {// 添加全局过滤器Vue.filter(....),这里也可以添加其他的,比如自定义指令等

2.使用插件: Vue.use()

八,scoped

scoped样式作用:让样式在局部生效,防止冲突。

写法: <style scoped> </style>

一般scoped只写在子组件内,app内不需要写,因为在app内大部分都是基础样式,每个组件都能用到的,如果加了scoped,那么只对本组件生效,其他的组件就无法使用

总结

到此这篇关于轻松学Vue组件之单文件组件的文章就介绍到这了,更多相关Vue单文件组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue中的for循环以及自定义指令解读

    vue中的for循环以及自定义指令解读

    这篇文章主要介绍了vue中的for循环以及自定义指令,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue中 axios delete请求参数操作

    Vue中 axios delete请求参数操作

    这篇文章主要介绍了Vue中 axios delete请求参数操作,具有很好的参考价值,希望对大家有所 帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue+tsc+noEmit导致打包报TS类型错误问题及解决方法

    vue+tsc+noEmit导致打包报TS类型错误问题及解决方法

    当我们新建vue3项目,package.json文件会自动给我添加一些配置选项,这写选项基本没有问题,但是在实际操作过程中,当项目越来越复杂就会出现问题,本文给大家分享vue+tsc+noEmit导致打包报TS类型错误问题及解决方法,感兴趣的朋友一起看看吧
    2023-10-10
  • el-table树形数据量过大,导致页面卡顿问题及解决

    el-table树形数据量过大,导致页面卡顿问题及解决

    这篇文章主要介绍了el-table树形数据量过大,导致页面卡顿问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • vue-router跳转时打开新页面的两种方法

    vue-router跳转时打开新页面的两种方法

    这篇文章主要给大家介绍了关于vue-router跳转时打开新页面的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用vue-router具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • vue实现图片裁剪后上传

    vue实现图片裁剪后上传

    这篇文章主要为大家详细介绍了vue实现图片裁剪后上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Vue cli构建及项目打包以及出现的问题解决

    Vue cli构建及项目打包以及出现的问题解决

    这篇文章主要介绍了Vue cli构建及项目打包以及出现的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Vue实现记住账号密码功能的操作过程

    Vue实现记住账号密码功能的操作过程

    这篇文章主要介绍了Vue实现记住账号密码功能,用户登录时若勾选“记住我”功能选项,则将登录名和密码(加密后)存入本地缓存,下次登录页面加载时自动获取保存好的账号和密码(需解密),回显到登录输入框中,下面分享我实现的具体步骤,需要的朋友可以参考下
    2022-07-07
  • Vue axios与Go Frame后端框架的Options请求跨域问题详解

    Vue axios与Go Frame后端框架的Options请求跨域问题详解

    这篇文章主要介绍了Vue axios与Go Frame后端框架的Options请求跨域问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • vue3.0之Router的使用你了解吗

    vue3.0之Router的使用你了解吗

    这篇文章主要为大家详细介绍了vue3.0之Router的使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03

最新评论