阳江[切换]
免费发布信息
您当前的位置: 阳江百修网> 阳江工控产品维修>阳江数控系统维修> >三菱m80机床解锁

三菱m80机床解锁

三菱m80机床解锁
服务区域
阳江市-阳东县
服务范围
数控机床
发布日期
2023-04-22 14:35:31
标签
三菱M80,解锁,解密

温馨提示:此页面服务由第三方为您提供,交易前请仔细核对商家真实资质,勿信夸张宣传和承诺,勿轻易相信预付定金、汇款等交易方式; 此页面所发布文字及图片均由网民自行发布,如有侵权请联系发布者删除。

产品介绍

三菱m80机床解锁vue是怎么渲染一个组件的,是怎么将组件和vue实例渲染区分开来。vue组件实际上是vue的子类,都是通过继承vue而来。通常会使用vue.component()声明一个组件,而这时候声明的组件是一个全局组件,他与vue实例局部组件联系是通过原型链联系起来的,所以在使用组件时会优先使用局部组件。vue.component()的核心是vue.extend(),vue.extend会接受一个对象作为参数,然后根据对象创建一个子类组件构造器函数,并返回组件构造器函数,在实例化这个构造器函数后就会调用init()方法初始化这个组件,也就是创建了组件,调用$mount()后会给组件添加一个watcher并渲染出真实dom元素。

使用方式

Vue.component('my-button', {     template: `         <div>             <button>按钮</button>         </div>     ` }) const vm = new Vue({     el: '#app',     components: {         'my-button2': {             template: `                 <button>内部按钮</button>             `         }     } }) 复制代码

实现过程

创建全局组件

为了能让子组件始终能访问到Vue,需要将Vue存放到Vue.option._base,Vue.component声明的全局组件都会存放到Vue.options.components上,在合并components属性时会对Vue.options.components进行合并。extend()实际上也是反回了Vue的子类,这个子类是用来创建子组件的。

Vue.options._base = Vue;        // 用来保证子组件可以访问到Vue构造函数 Vue.options.components = {};    // 用来存放组件的定义 Vue.component = function(id, definition){     definition.name = definition.name || id;     definition = this.options._base.extend(definition);    // 通过对象产生一个组件构造函数,使用this.options._base调用extend是为了保证始终都是通过调用Vue.extend(),保证extend里面的this指向Vue     this.options.components[id] = definition;              // 把组件构造函数放在Vue.options里面,实例化Vue的时候会对components属性进行合并 } let cid = 0; Vue.extend = function(options){     const Super = this;         // 永远指向Vue,保证Sub永远都是继承于Vue     const Sub = function VueComponent(options){         this._init(options);     }     Sub.cid = cid++;            // 给每个组件标号,区分组件     Sub.prototype = Object.create(Super.prototype);     Sub.prototype.constructor = Sub;     Sub.component = Super.component;     // ...     Sub.options = mergeOptions(Super.options, options);     return Sub; } 复制代码

生成组件的虚拟dom

再根据标签名生成虚拟dom时,标签名可能是我们的自定义组件,因此需要对标签名区分处理,只要不是普通标签那就识别为自定义组件。

export function createElement(vm, tag, data={}, ...children){     if(isReservedTag(tag)){     // 普通标签         return vnode(vm, tag, data, children, data.key, null);     }else{                      // 自定义组件         const Ctor = vm.$options.components[tag];         return createComponent(vm, tag, data, children, data.key, Ctor)


企业信息
入驻时间:
2022年
主营产品:
数控机床
公司地址:
广东省阳江市阳东县艺鹏装饰
客服热线

意见反馈邮箱:354481597@qq.com

关注我们
百修网公众号

百修网公众号

百修公众号

百修公众号

师傅接单小程序

师傅接单小程序

苏ICP备09042555号-2 | 增值电信业务经营许可证:苏B2-20150120 | 公安部备案号:32020202000170 | Copyright © 无锡市新视点网络科技有限公司 版权所有