Vue源码探究-全局API 本篇代码位于vue/src/core/global-api/ Vue暴露了一些全局API来强化功能开发,API的使用示例官网上都有说明,无需多言.这里主要来看一下全局API模块的实现.全局API的文件夹里有一个入口文件,各个功能分开定义,在这个入口文件中统一注入. 入口文件index.js /* @flow */ // 从各个模块导入功能函数 import config from '../config' import { initUse } from './use'…
本篇文章主要是写Vue.directive().Vue.use()等常用全局API的使用,vm.$props.vm.$options.vm.$slots等实例属性的使用,以及Vue全局配置.组件的mixins.组件中渲染函数的使用.…
1.环境配置 安装VsCode 安装包管理工具:直接下载 NodeJS 进行安装即可,NodeJS自带 Npm 包管理工具,下载地址:https://nodejs.org/en/download/安装完成后在命令行执行以下命令查看npm包管理器版本 npm -v npm中文文档:https://www.npmjs.cn/ 配置淘宝镜像 npm install cnpm -g --registry=https://registry.npm.taobao.org 然后执行 cnpm -v 查看版本信…
全局配置 Vue.config是一个对象,包含Vue的全局配置 silent 类型:boolean 默认值:false 用法 Vue.config.silent=true 取消Vue所有的日志与警告 devtools 类型:boolean 默认值:true(生成版为false) 用法 // 务必在加载 Vue 之后,立即同步设置以下内容 Vue.config.devtools = true errorHandler 类型:Function 默认值:undefined 用法 Vue.config.…
1.Vue.extend(options) 构造器,创建一个 子类 .参数是一个包含组件选项的对象 data 选项是特例,需要注意 在 Vue.extend() 中它必须是一个函数, <div id="test"></div> // 创建构造器 let MyTest = Vue.extend({ template: '<p>{{name}} {{age}}</p>', data(){ return { name: 'zhangning',…
一.选项 / 数据 1.data 当一个组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例,如果 data 仍然是一个纯碎的对象,则所有的实例将被共享引用同一个数据对象.通过提供 data 函数,每次创建一个新实例后,我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象. 2.props props 可以是数组或者对象,用于接收来自父组件的数据.props 中使用对象可以配置高级选项,类型检测,自定义验证,设置默认值 可以使用以下选项 ty…
全局api方法 1.Vue.extend(options) 请注意,extend创建的是一个组件构造器,而不是一个具体的组件实例.所以他不能直接在new Vue中这样使用: new Vue({components: fuck}) 最终还是要通过Vue.components注册才可以使用的. // 创建构造器 var Profile = Vue.extend({ template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>',…
1.extend用于创建一个子类Vue,用$mount来挂载 <body> <div id="app"></div> <script> const app=Vue.extend({ template:'<p>{{a}} {{b}} {{c}}</p>', data:function(){ return { a:'Welcome', b:"To", c:"BeiJing" }…
3.全局API 3-1. Vue.directive 自定义指令 Vue.directive用于自定义全局的指令 实例如下: <body> <div id="app"> <p v-sq="color">{{message}}</p> </div> </body> <script> Vue.directive('sq', function (el, binding, vnode) {…
vue 源码详解(一):原型对象和全局 API的设计 1. 从 new Vue() 开始 我们在实际的项目中使用 Vue 的时候 , 一般都是在 main.js 中通过 new Vue({el : '#app , ...options}) 生成根组件进行使用的, 相关的配置都通过 options 传入. Vue 的原型对象会帮我们初始化好很多属性和方法, 我们可以通过 this.property 直接调用即可: 而 Vue 这个类也通过类的静态方法初始化了一些全局的 api, 我们可以通过类名直…