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

wordpress 修改登录地址seo谷歌

wordpress 修改登录地址,seo谷歌,1m带宽做网站速度怎么样,香港建站网站在之前我们就提到,首次渲染之后,后续如果再调用 render 函数时,传递的 vnode 为 null 则表示是卸载。 当时我们是直接通过执行 container.innerHTML ‘’ 来实现的,但是这样做会有以下几个问题,如下: 容…

在之前我们就提到,首次渲染之后,后续如果再调用 render 函数时,传递的 vnode 为 null 则表示是卸载。

当时我们是直接通过执行 container.innerHTML = ‘’ 来实现的,但是这样做会有以下几个问题,如下:

  • 容器内可能是由某个或者多个组件渲染的,当卸载操作发生时,应该正确的调用这些组件的 beforUnmount、unmounted 等生命周期函数。
  • 即使内容不是由组件渲染的,有的元素存在自定义指令,我们应该再在卸载操作发生时正确的执行这些对应指令的钩子函数。
  • 使用 innerHTML 清空容器的还有一个缺陷是,它并不会移除绑定在 DOM 元素上的事件处理函数

正确的卸载方式应该是,根据 vnode 对象获取对应与其相关联的真实 DOM 元素,然后使用原生 DOM 操作方式将该元素移除。为此,我们需要再 vnode 与真实 DOM 元素之间建立联系,修改 mountElement 函数,如下:

function mountElement(vnode, container) {// 让 vnode.el 引用真实的 dom 元素const el = (vnode.el = hostCreateElement(vnode.type))// ... 省略其他代码
}

这样建立联系之后,当卸载的时候,只需要根据 vnode.el 属性即可获取真实的 dom 元素,然后在将其从父元素中移除,如下:

function render(vnode, container) {if (vnode) {patch(container._vnode, vnode, container)} else {// 卸载操作if (container._vnode) {// 获取 vnode 关联的真实 domconst { el } = container._vnode// 获取 el 的父元素const parent = el.parentNode// 调用父元素的 removeChild 方法if (parent) {parent.removeChild(el)}}container._vnode = vnode}
}

根据之前的设计方案,这个卸载子元素的操作,会经常用到,我们将其提取出来,封装到 unmount 函数中,如下:

function unmount(vnode) {const { el } = vnodeconst parent = el.parentNodeif (parent) {parent.removeChild(el)}
}
http://www.15wanjia.com/news/46899.html

相关文章:

  • 无需注册免费的网站长尾关键词爱站
  • 湖北网站建设价格网络营销的目的是什么
  • 我想成立公司怎么办理重庆seo网络推广
  • 优质的天津网站建设云南今日头条新闻
  • 移动网站建设案例百度网盘官网登录首页
  • 合肥市建设网站2022推广app赚佣金平台
  • 晋江外贸网站开发米拓建站
  • 网站ftp账号密码什么是软文营销?
  • 大理州建设局投诉网站百度一下手机版
  • 水墨风格网站欣赏引擎优化是什么意思
  • 个人网站备案号被注销免费网站
  • 公司禁用网站怎么做招聘网络营销推广人员
  • 腾讯云做网站干什么用太原网站建设谁家好
  • 个人网站做哪些流程沧州网站运营公司
  • 微信手机网站搭建谷歌play
  • 政府建设行业服务网站seo短期培训班
  • 请给自己的网站首页布局平板电视seo优化关键词
  • 福田网站制作设计互联网营销专业
  • 深圳建西站网络营销有哪些功能
  • 京挑客如何做网站推广深圳优化怎么做搜索
  • 有什么做ppt的网站国内好用的搜索引擎
  • 乌鲁木齐哪里有做网站的公司seo有些什么关键词
  • 石家庄网站建设seo如何快速搭建一个网站
  • 云南旅游网站建设公司海外域名
  • 做恐怖网站培训心得体会模板
  • 重庆网站建设仿站市场推广方案和思路
  • 北滘网站建设如何搭建一个自己的网站
  • 网站建设与推广话术百度推广业务员
  • 济南汇网站群山东16市最新疫情
  • 重庆大渡口营销型网站建设公司推荐使用百度地图导航收费吗