当前位置: 首页 > news >正文

阜宁网站开发新网域名注册官网

阜宁网站开发,新网域名注册官网,娄底网站建设公司,网站做担保交易文章目录 零、准备工作1.创建vue2项目2.修改main.js 一、import Vue from vue引入的vue是哪里来的(看导入node_modules包)1: 通过node_modules包的package.json文件2: 通过配置中的main入口文件进入开发环境的源码(1&a…

文章目录

  • 零、准备工作
    • 1.创建vue2项目
    • 2.修改main.js
  • 一、import Vue from 'vue'引入的vue是哪里来的(看导入node_modules包)
    • 1: 通过node_modules包的package.json文件
    • 2: 通过配置中的main入口文件进入开发环境的源码
      • (1) 生产环境
      • (2) 开发环境
    • 3: 查看node包中生产环境的源码
  • 二、解析挂载的#app(还是看源码)
  • 三、解析data定义值后如何获取的
    • 1. vue 项目中main.js
      • (1)代码
      • (2)效果![在这里插入图片描述](https://img-blog.csdnimg.cn/170df3ef6e4f4e7393f24605def8063b.png)
      • (3)思考
        • ①根据vue的源码找到stateMixin
        • ②stateMixin文件中的initData方法就是初始化data数据


零、准备工作

1.创建vue2项目

vue init webpack vue2_project (vue2_project 文件名)

2.修改main.js

import Vue from 'vue'var app = new Vue({el: '#app',data: {message: '我是一个双向绑定的数据'}
})

一、import Vue from 'vue’引入的vue是哪里来的(看导入node_modules包)

1: 通过node_modules包的package.json文件

从vue2_project中\node_modules\vue\package.json中找到main的入口文件
在这里插入图片描述

2: 通过配置中的main入口文件进入开发环境的源码

(1) 生产环境

生产环境:node_modules\vue\dist\vue.runtime.common.dev.js

在这里插入图片描述

(2) 开发环境

开发环境:node_modules\vue\dist\vue.runtime.common.dev.js

在这里插入图片描述

3: 查看node包中生产环境的源码

看到这里,你就会发现和vue源码中的构建找到vue 函数中的是一样的了。

在这里插入图片描述

二、解析挂载的#app(还是看源码)

首先,通过构建vue我们知道Vue其实是个函数
路径:vue\src\core\instance\init.ts

在这里插入图片描述

如上可知:el挂载其实就是在初始化initMixin函数的时候判断的

export function initMixin(Vue: typeof Component) {if (vm.$options.el) {vm.$mount(vm.$options.el)}
}

vue2中的main文件new Vue挂载加$mount的原因
在这里插入图片描述

三、解析data定义值后如何获取的

根据一、二我们了解了main 中new Vue的el挂载和$mount方法

1. vue 项目中main.js

(1)代码

import Vue from 'vue'var app = new Vue({el: '#app',mounted() {console.log(this.message);},data() {return {message: '我是一个双向绑定的数据'}}
})

(2)效果在这里插入图片描述

(3)思考

为什么直接使用this.message就能获取到数据呢?

①根据vue的源码找到stateMixin

路径:src\core\instance\index.ts
在这里插入图片描述

②stateMixin文件中的initData方法就是初始化data数据

在这里插入图片描述

function initData(vm: Component) {let data: any = vm.$options.datadata = vm._data = isFunction(data) ? getData(data, vm) : data || {}
}

在这里插入图片描述

在这里插入图片描述

过程:通过initData获取到传入的对象数据,将这个数据复制给vm,也就是在new Vue中的this。这样你就可以通过this.message和this._data.message来获取你在data中定义的数据了,而这里的this.data.message会执行proxy函数,通过Object.defineProperty执行sharedPropertyDefinition.get方法,也就是message。至于数据的绑定后面会单独说明,这里先忽略。

在这里插入图片描述

http://www.tj-hxxt.cn/news/43418.html

相关文章:

  • 中山手机网站建设电话官方百度app下载
  • 电子政务网站建设pptseo的特点是什么
  • 网站如何跳转电商平台发展现状与趋势
  • 二级院系网站建设情况济南网站设计
  • 自己电脑做服务器上传网站 需要备案吗网店无货源怎么做
  • 如何用本地视频做网站新东方线下培训机构官网
  • 哪个网站diy做宝宝衣服广告文案经典范例200字
  • 网站推广是网站建设完成之后的长期工作关键词异地排名查询
  • 某网站突然不能浏览了软文网
  • 贷款公司通过做网站来给予平台贷款抖音营销
  • 个人网站要多少钱2021年热门关键词
  • 设计网站printest今日国内新闻最新消息
  • 镇江大港信息港seo专员工作容易学吗
  • wordpress 刷新缓存关键词seo排名怎么做的
  • 深圳市建设局科技处网站seo站外优化最主要的是什么
  • 网站封面如何做的吸引人整站seo排名
  • 南京网站设计公司济南兴田德润简介图片电子商务网站建设教程
  • 网站建设概念股如何优化企业网站
  • 个人物流网站建设方案郑州网站优化seo
  • 最优网络做网站百度seo收录
  • 济南企业网站建设公司网奇seo赚钱培训
  • 电商网站项目最新seo自动优化软件
  • 合肥有没有做网站的单位企业建站流程
  • 吸引企业做网站百度区域代理
  • 怎样在网站上做办公家具seo专业实战培训
  • 哪个网站免费做简历网上销售培训课程
  • php 数据录入网站企业官网定制设计
  • 做logo的比赛网站全网搜索指数
  • 做网站在哪接广告电商平台如何推广运营
  • 做网站客源杭州seo招聘