vue2学习 -- 脚手架

文章目录

    • [1. 使用](#1. 使用)
    • [2. render函数](#2. render函数)
    • [3. vue.config.js配置文件](#3. vue.config.js配置文件)
    • [4. ref属性](#4. ref属性)
    • [5. props配置](#5. props配置)
    • [6. mixin](#6. mixin)
    • [7. 插件](#7. 插件)
    • [8. scoped](#8. scoped)

1. 使用

脚手架文档

安装脚手架

npm install -g @vue/cli

选择工作目录,创建项目

vue create name

2. render函数

关于不同版本的Vue.js

  1. vue.js与vue.runtime.xx,js的区别:
  • vue.js是完整版的Vue,包含:核心功能 + 模板解析器。
  • vue.runtime.xxx.js是运行版的Vue,只包含:核心功能,没有模板解析器。
  1. 因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用render函数接收到的createElement函数去指定具体内容。(默认引入vue的运行时文件)

3. vue.config.js配置文件

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

使用vue.config.js可以对脚手架进行个性化定制,详情见:详情🔎

4. ref属性

  1. 被用来给元素或子组件注册引用信息(id的替代者)
  2. 应用在html标签上获取的是真实DoM元素,应用在组件标签上是组件实例对象(vc)
  3. 使用方式:
    打标识:<h1 ref="xx">....<h1><School ref="xx"/>
    获取:this.$refs.x

5. props配置

props两种写法

复制代码
   //接收的同时对数据进行类型限制
   props:[name,age,sex]
复制代码
   //接收的同时对数据进行类型限制
   props:{
       name:String,
       age:Number,
       sex:String
   }
复制代码
   props:{
       name:{
           type:String, // name的类型是字符串
           required:true, // name是必要的
       },
       age:{
           type:Number,
           default:99 //默认值
       },
       sex:{
           type:String,
           required:true
       }
   }

注:

  • props的优先级比data中的数据高;
  • props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。

6. mixin

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

  • 使用方式:

    • 第一步定义混合,例如:
      {
      data(){...},
      methods:{...}
      ...
      }
  • 第二步使用混入,例如:

    • 全局混入:Vue.mixin(xx)
    • 局部混入:mixins:'xxx'

注:mixin中数据若与data中冲突,则那么会以data的数据为先,但如果两者都有生命周期钩子,那么都将会执行,只是data中优先。

7. 插件

在main.js中写入app.use(plugins)

与之类似,之后下载插件,可以在app.js中引入,在通过app.use(xxx)全局使用

功能:用于增强Vue

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

定义插件:

复制代码
export default {
    install=function(Vue,options)(
    1. 添加全局过滤器
    Vue.filter(...)

    2. 添加全局指令
    Vue.directive(...)

    3. 配置全局混入(合)
    Vue.mixin(...)

    4. 添加实例方法
    Vue.prototype.$myMethod function (){...}
    Vue.prototype.$myProperty = xxxx
}

8. scoped

根据引入组件的顺序不同,不同组件的样式汇总到一起时会有覆盖的情况出下,可以使用scoped属性。

相关推荐
腻害兔几秒前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
CodexDave16 分钟前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
圣光SG44 分钟前
Servlet学习笔记
笔记·学习·servlet
Ai_easygo1 小时前
AI Agent开发入门——从ReAct到Tool Calling,拆解Agent的底层运行逻辑
前端·人工智能·react.js
研☆香1 小时前
分析制作html页面,如何划分页面结构
前端
kyriewen2 小时前
我扒了最近的前端面经——2026年面试不背八股文了,考这5样
前端·面试·ai编程
IT_陈寒2 小时前
Redis的持久化配置把我坑惨了:你以为数据安全了?
前端·人工智能·后端
小徐_23332 小时前
uni-app 项目别再从零搭了!3 个 Wot UI 起手模板怎么选?
前端·uni-app
@Mike@3 小时前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习
赵庆明老师3 小时前
Vben精讲:16-熟悉Vite前端工具链
前端