vue process.env获取不到_从文档开始,重学vue(下)源码级别

本文从应用和源码层面探讨Vue的部分API,包括Vue.extend()用于创建全局组件,Vue.nextTick()处理异步更新队列,以及Vue.set()使对象属性响应式。文章通过实例和源码分析,帮助读者理解这些方法的工作原理。
摘要由CSDN通过智能技术生成

769fc93b1af1581bf13a45875ea68617.png

此篇文章主要是从应用及源码层面讲解vue部分常用api,阅读起来可能略有难度,新手可以看《从文档开始,重学vue(上)》

示例代码均在vue-cli3中完成

Vue.extend()

可以使用 extend 创建一个子类,该方法通常用于构建全局组件,如弹框组件等,下面我们就用它来制作个全局alert组件吧

  1. 首先我们需要一个alert.vue组件,组件很简单就接受一个参数,然后有两个控制显示隐藏的方法58907b6711c7acc75c27507b839b991b.png
  2. 需要把alert挂载到body 注意extend的使用方式bdacb91c3a4d0943b6d0c11176329728.png
  3. 使用

使用之前别忘了在main.jsuse一下

import Alert from "./components/Alert/create";Vue.use(Alert)

用起来也非常方便,如下:

mounted(){
    	this.$alert('公众号,码不停息')}

上面我们使用extend直接给他传了个组件进去,其实我们也可以给extend的配置对象,如下:

Vue.extend({
     template: "{
    {msg}}", data() {
       return {
         msg: "码不停息"   }; }});

下面我们通过源码来看看在vue内部extend都做了哪些事情,关键性代码已经加上注释0fb0646812d4dbdbe4b2cdee89e56d34.png主要做的事情就是把通过extend挂载的组件初始化,并完善里面的options最后返回组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值