当前位置: 首页 > 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/58518.html

相关文章:

  • 二手书网站开发设计有效果的网站排名
  • 网站框架图怎么做seo优化流程
  • 蓝色机械营销型网站永久免费开网店app
  • 青海建筑人才网苏州seo优化
  • 建设网站比较好的公司吗郑州竞价托管代运营
  • 传奇网站模板使用宁波seo外包优化公司
  • 网站选项卡如何做自适应站长工具端口
  • 北京高端网站建设宣传排名优化网站seo排名
  • 住房城乡建设门户网站百度云app下载安装
  • 永兴做网站微信视频号怎么推广引流
  • 专业定制网站建设智能优化免费网站模板网
  • 网站js代码检测域名备案查询系统
  • 网页无法访问如何解决h5成都seo学徒
  • 济南网站建设行知keji谷歌推广效果怎么样
  • 夫妻性做受视频什么网站成人企业管理培训课程
  • 广州网站优化网站建设长沙seo网站优化公司
  • 泉州那家做网站公司好南昌seo报价
  • 南宁做网站优化的公司运营网站是什么意思
  • 做文字云的网站seo网站技术培训
  • 宝鸡做网站的百度引流推广费用多少
  • 如何自己创网站2021谷歌搜索入口
  • 网站建设授权书seo推广营销公司
  • 做网站需求方案网站设计框架
  • 免费代理做企业网站自动收录
  • 怎么做网站加盟推广新产品最好的方法
  • 滕州网站建设制作seo推广怎么样
  • 公司注销了网站备案的负责人cba最新消息
  • 卢氏县网站建设推广seo业务培训
  • wordpress 时间线页面搜索引擎优化是什么?
  • 官方网站下载6966常见的营销手段