当前位置: 首页 > news >正文

营销型网站收费网站建设怎么做账务处理

营销型网站收费,网站建设怎么做账务处理,深圳市房屋管理局官方网站,美团网网站建设分析slot 插槽的实现实际上就是一种 延时渲染#xff0c;把父组件中编写的插槽内容保存到一个对象上#xff0c;并且把具体渲染 DOM 的代码用函数的方式封装#xff0c;然后在子组件渲染的时候#xff0c;根据插槽名在对象中找到对应的函数#xff0c;然后执行这些函数做真正的…slot 插槽的实现实际上就是一种 延时渲染把父组件中编写的插槽内容保存到一个对象上并且把具体渲染 DOM 的代码用函数的方式封装然后在子组件渲染的时候根据插槽名在对象中找到对应的函数然后执行这些函数做真正的渲染。 /*** 创建 vnode*/ function createVNode(type, props null, children null) {if (props) {// 处理 props 相关逻辑标准化 class 和 style}// 对 vnode 类型信息编码// 创建 vnode 对象const vnode {type,props,// 其他一些属性}// 标准化子节点把不同数据类型的 children 转成数组或者文本类型normalizeChildren(vnode, children)return vnode }/*** 标准化子节点以及获取 vnode 节点类型 shapeFlagshapeFlag 最终为 SLOTS_CHILDREN | STATEFUL_COMPONENT*/ function normalizeChildren(vnode, children) {let type 0const { shapeFlag } vnode// 没有子节点if (children null) {children null}// 子节点为数组else if (isArray(children)) {type 16 /* ARRAY_CHILDREN */}// 子节点为对象else if (typeof children object) {// 子节点为元素或 teleportif ((shapeFlag 1/* ELEMENT */ || shapeFlag 64 /* TELEPORT */) children.default) {normalizeChildren(vnode, children.default())return}// 子节点为 slotelse {type 32/* SLOTS_CHILDREN */const slotFlag children._if (!slotFlag !(InternalObjectKey in children)) {children._ctx currentRenderinglnstance}// 处理类型为 FORWARDED 的情况else if (slotFlag 3 /* FORWARDED */ currentRenderinglnstance) {// 动态插槽if (currentRenderingInstance.vnode.patchFlag 1024/* DYNAMIC_SLOTS */) {children._ 2/* DYNAMIC */vnode.patchFlag | 1024 /* DYNAMIC SLOTS */}// 静态插槽else {children._ 1/* STABLE */}}}}// 子节点为函数else if (isFunction(children)) {children { default: children, _ctx: currentRenderinglnstance }type 32/* SLOTS_CHILDREN */}// 其他子节点else {children String(children)// teleport 类型if (shapeFlag 64/* TELEPORT */) {type 16/* ARRAY_CHILDREN */children [createTextVNode(children)]}// 文本类型else {type 8/* TEXT_CHILDREN */}}vnode.children childrenvnode.shapeFlag | type }/*** 初始化 Slots*/ const initSlots (instance, children) {if (instance.vnode.shapeFlag 32/* SLOTS_CHILDREN */) {const type children._if (type) {instance.slots childrendef(children, _, type)} else {normalizeObjectSlots(children, (instance.slots {}))}} else {instance.slots {}if (children) {normalizeVNodeSlots(instance, children)}}def(instance.slots, InternalObjectKey, 1) }/*** 渲染 slot DOM* param {Object} slots - 插槽对象 instance.slots* param {string} name - 插槽名*/ function renderSlot(slots, name, props {}, fallback) {// 根据 name 获取对应插槽函数let slot slots[name]// 通过 createBlock 创建 vnode 节点类型为 Fragmentchildren 是执行 slot 插槽函数的返回值return (openBlock(), createBlock(Fragment, { key: props.key }, slot ? slot(props) : fallback ? fallback() : [], slots._ 1/* STABLE */ ? 64/* STABLE_FRAGMENT */ : -2/* BAIL */)); }/*** 保证子组件中渲染具体插槽内容保证它的数据作用域也是父组件*/ function withCtx(fn, ctx currentRenderinglnstance) {if (!ctx) return fnreturn function renderFnWithContext() {// 保存当前渲染的组件实例 ownerconst owner currentRenderingInstance// 把 ctx 设置为当前渲染的实例setCurrentRenderinglnstance(ctx)// 执行 fnconst res fn.apply(null, arguments)// 把 ctx 设置为当前渲染的实例setCurrentRenderingInstance(owner)return res} }/*** 处理 Fragment*/ const processFragment (nl, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) {const fragmentStartAnchor (n2.el n1 ? nl.el : hostCreateText())const fragmentEndAnchor (n2.anchor n1 ? nl.anchor : hostCreateText())let { patchFlag } n2if (patchFlag 0) {optimized true}// 插入节点if (n1 null) {// 先在前后插入两个空文本节点hostInsert(fragmentStartAnchor, container, anchor)hostInsert(fragmentEndAnchor, container, anchor)// 再挂载子节点mountChildren(n2.children, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, optimized)}//更新节点else { } }
http://www.sadfv.cn/news/69467/

相关文章:

  • 音乐网站用什么语言做河南无限动力做网站怎么样
  • 邢台企业做网站找谁wordpress页面模板获取内容
  • 河西区做网站的公司南京网站设南京网站设计计
  • 做app还是网站wordpress 网页设计
  • 论坛开源网站源码十堰网站建设u2028
  • 大型购物网站建设方案wordpress ping百度
  • 百度网站邀您点评dw网页设计模板制作过程
  • 王欣网站建设与维护深圳小程序开发定制公司
  • 提供有经验的网站建设章丘建网站
  • 中国免费域名申请网站网站建站常见问题
  • 青岛出版集团网站系统开发成本可以分为哪三种
  • 凡科建站官网网站模板做淘客一定要建网站吗
  • php网站模板制作工具外贸营销公司
  • 上鼎工程建设有限公司网站qq注册网页入口
  • 怎样在百度上建立网站做一个网站都需要什么
  • 山东响应式网站建设岑溪网站
  • 徐州建设网站网站开发行业资讯
  • 建设网站服务器的方式有自营方式宁波网站建设怎么做
  • 网站开发公司赚钱么深圳电器公司是国企吗
  • 网站优化是往新闻中心发新闻吗网页广告调词平台多少钱
  • 网站百度收录查询哪些网站可以做淘宝推广
  • 有哪些做ppt的网站最好的网站推广软件
  • 设计有哪些网站饰品企业网站建设
  • 如何做请求队列防止网站高并发网站开发属于什么系统
  • 东莞整站优化公司火速公司单位做网站怎么做
  • 济宁网站建设价格wordpress 画展主题
  • 网站建设制作德州深圳关键词优化怎么样
  • 在什么网站可以做外贸出口劳保鞋平度做网站公司
  • 网站设计 用户心理研究网站seo计划书
  • 海淀做企业网站的公司网站动态图是怎么做的