在接触 React 时候,我只了解到通过 babel 可以把 JSX 转成 VNode(通过调用 React.createElement 方法),但是对其具体是如何转换的却不了解. 很明显,回答失败.通过 github 上搜索 template+vnode 的关键词,让我搜到了htm库,发现简直就是我想要的.让我们看下用法: const htm = require("htm"); function h(type, props, ...children) { return { type,…
Scala中使用fastJson 解析json字符串 添加依赖 2.解析json字符 2.1可以通过JSON中的parseObject方法,把json字符转转换为一个JSONObject对象 2.2然后可调用JSONObject中的方法,根据key获取值 2.3对于JSON中的套JSON字符串的可以使用 2.4如果想要遍历JSONArray中的所有数据,想不使用getJSONObject方法,但是想要这里面的遍历的所有的JSONObject可以使用 3.实例 添加依赖 <!--解析json字符串…
前言 在 Vue 核心中除了响应式原理外,视图渲染也是重中之重.我们都知道每次更新数据,都会走视图渲染的逻辑,而这当中牵扯的逻辑也是十分繁琐. 本文主要解析的是初始化视图渲染流程,你将会了解到从挂载组件开始,Vue 是如何构建 VNode,又是如何将 VNode 转为真实节点并挂载到页面. 挂载组件($mount) Vue 是一个构造函数,通过 new 关键字进行实例化. // src/core/instance/index.js function Vue (options) { if (pro…
本文结合 Vue 源码进行学习 学习时,根据 github 上 Vue 项目的 package.json 文件,可知版本为 2.6.10 解析器 一.解析器的作用 解析器的作用就是将模版解析成 AST(抽象语法树) 在 Vue 中,解析 template 里面的 DOM 元素转换出来的 AST,是一个 Javascript 对象 该 AST 是使用 JavaScript 中的对象来描述一个节点 一个对象表示一个节点,对象中的属性用来保存节点所需的各种数据 parent 属性用来保存父节点的描述对…
vm._render 生成虚拟dom 我们知道在挂载过程中, $mount 会调用 vm._update和vm._render 方法,vm._updata是负责把VNode渲染成真正的DOM,vm._render方法是用来把实例渲染成VNode,这里的_render是实例的私有方法,和前面我们说的vm.render不是同一个,先来看下vm._render定义,vm._render是通过renderMixin(Vue)挂载的,定义在src/core/instance/render.js: // 简…
最近想在项目上引入一个富文本编辑器,之前引入过summernote,感觉并不太适合vue使用, 然后在网上查了查,vue中使用Tinymce比较适合, 首先,我们在vue项目的components文件夹中加入如下几个文件 首先看一下Tinymce/dynamicLoadScript.js的内容: let callbacks = [] function loadedTinymce() { // to fixed https://github.com/PanJiaChen/vue-element-a…
1.安装依赖 npm install svg-sprite-loader --save-dev 2.在config文件中配置    const path = require('path'); function resolve(dir) { return path.join(__dirname, dir) } chainWebpack(config) { // set svg-sprite-loader config.module .rule('svg') .exclude.add(resolve…
项目交互遇到了需要VC++中解析XML字符串,故花了点时间了解了下VC++中解析XML的诸多方法主要包括三种:msxml(微软提供).markup.TinyXml. 开始花了点时间使用msxml3,虽然也能解析出来数据,不过对数据的精细化处理个人感觉有点麻烦,最终选择了markup. 采用markup可以直接在http://www.firstobject.com/下载示例,把示例中的Markup.h.Markup.cpp拷贝到自己的项目目录中,并添加到项目中,这样就可以 使用其中的CMarkup…
vue中v-slot使用 1,v-slot的使用步骤 <!-- slot.vue--> <!-- 通过name属性指定具名插槽,没有name属性的为默认插槽--> <slot name="header">我是header</slot> <slot name="main">我是main</slot> <slot :title="title" name="foot…
VUE 项目中使用 Typescript 第一节:项目起步 Vue 中使用 TypeScript 项目中主要使用到的第三方依赖 vue2 vue-class-component vue-property-decorator less vue-router vuex vuex-class 搭建项目 // 按照提示自定义vue选项,我这里使用的是vue2 + ts vue create pm-vue2-ts-app // 项目创建成功进入工程目录启动项目 npm run server App.vue…