当前位置: 首页 > 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.yayakq.cn/news/923740/

相关文章:

  • 外贸网站建站j建设银行成都市第九支行 网站
  • 部门网站建设的工作汇报自己做家具展示网站
  • 做网站哪里找程序员做网站有哪个空间
  • eclipse做网站代码网站重新搭建程序要多少钱
  • 网站小程序制作公司网址生成二维码在线
  • 为网站营销好处政务网站开发理念
  • 网站设计师是什么专业无锡网站制作哪里实惠
  • 仿站网站域名企业商标图案大全
  • 上海最专业的网站建设公司排名克州seo整站排名
  • 自己申请一个网站怎么做wordpress分享缩略图不显示
  • 相关网站查询微信小程序怎么清理掉
  • 西八里庄网站建设余姚网站定制
  • 网站结合微信大连本地网
  • 做网站公司长沙哪家好网站如果不续费会怎样
  • 免费网站模块wordpress好看的插件
  • 上海好的高端网站建设服务公司wordpress发展现状
  • 国内大的做网站的公司餐饮加盟网站建设方案
  • 网站建设主要包括什么没有域名做网站
  • 织梦配置手机网站苏州建网站哪家
  • 网站建设用什么教材正邦做网站多少钱
  • 南京网站开发南京乐识专心国内公关公司排名
  • 上海做网站的公司是什么企业英文网站建设
  • 合肥专业做网站的公司哪家好佳世达电子 苏州 有限公司
  • 北京公司网站制作费用微信小程序引流推广软件
  • 学做面包的网站wordpress按修改时间排序
  • 南京高端网站开发东莞网站设计方案
  • 公司网站建设怎么入账微信有网页版吗
  • 郴州买房网站亚马逊店铺出售网站
  • 成都网站建设司那个网站专门做幽默视频的
  • 襄阳网站建设首选公司哪家好企业招聘网站