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

网站开发销售合同网站建设实训实训心得

网站开发销售合同,网站建设实训实训心得,网站名称推荐,wordpress熊掌号展示使用js对象来描述UI更加的灵活。“这种对象”在vue框架中被称为虚拟DOM,渲染函数内部可以创建虚拟DOM,然后vue.js可以将其内容进行渲染。 1.渲染器的介绍 渲染器的作用就是把虚拟DOM渲染为真实DOM 思考下,我们有一个虚拟 DOM,如…

使用js对象来描述UI更加的灵活。“这种对象”在vue框架中被称为虚拟DOM,渲染函数内部可以创建虚拟DOM,然后vue.js可以将其内容进行渲染。

1.渲染器的介绍

渲染器的作用就是把虚拟DOM渲染为真实DOM

思考下,我们有一个虚拟 DOM,如何将它转换为真实 DOM

const vnode = {tag: 'div',props: {onClick: () => alert('hello')},children: 'click me'
}

2.实现渲染函数renderer(只考虑创建没有考虑更新逻辑情况下)

  1. 两个参数。参数vnode表示虚拟 DOM 对象,container表示一个真实 DOM 元素,作为挂载点,渲染器会把虚拟 DOM 渲染到该挂载点

  2. 使用vnode.tag作为创建的dom标签el

  3. 遍历vnode.props,将属性 事件添加到DOM上(事件即给元素添加监听事件;)

  4. 处理 children(如果 children 是字符串,说明它是元素的文本子节点用createTextNode;如果children是数组则递归调用render函数渲染子节点并挂载到el元素下)

  5. 将元素添加到挂载节点container下

<div id="app"></div><script>// 手写render函数将自己定义的vnode对象渲染到页面/*** @vnode 虚拟 DOM 对象* @container 一个真实 DOM 元素,作为挂载点,渲染器会把虚拟 DOM 渲染到该挂载点*/function render(vnode, container) {// 使用vnode.tag作为创建的dom标签ellet el = document.createElement(vnode.tag);// 遍历vnode.props,将属性 事件添加到DOM上(事件即给元素添加监听事件;)for (let key in vnode.props) {// 判断如果为事件则将其设置到el中if ((/^(on)/).test(key)) {el.addEventListener(key.substr(2).toLowerCase(), vnode.props[key]);}}// 处理 children(字符串和数组)if (typeof vnode.children === "string") {el.appendChild(document.createTextNode(vnode.children));} else if (Array.isArray(vnode.children)) { //是数组进行遍历并递归调用render方法vnode.children.forEach(child => {render(child, el);});}// 将元素添加到挂载节点container下container.appendChild(el);}// render函数测试const container = document.getElementById('app')const vnode = {tag: 'div',props: {onClick: () => alert('hello')},// children: 'click me'children: [{tag: 'h1',props: {onClick: () => alert('h1')},children: '这是h1'},{tag: 'span',props: {onClick: () => alert('span')},children: '这是span'}]}render(vnode, container)</script>

http://www.sczhlp.com/news/59578/

相关文章:

  • 南京网站定制开发公司连接打开wordpress
  • 学校网站制作公司西安工程建设工程信息网
  • 网站现在怎么做排名网站开发毕业设计开课题目
  • 一级a做爰片免费网站 小说泗洪网页定制
  • wordpress做过的大型网站菏泽网站建设服务
  • 佛山网站优化流程公路水运建设质量安全监督网站
  • 河南省住建局官方网站手机和电脑网站分开做
  • 天津网站建设品牌推广项目建设进度
  • 新手必看!打造公众号AI排版高级感,层级设计秘籍大公开
  • linux随笔
  • 大学网站建设管理办法wordpress数字商城
  • 旅游网站项目评估考研培训机构排名前五的机构
  • 外贸网站如何做推广苏州wordpress seo模板
  • 网站推广渠道类型京津冀协同发展河北定位
  • 上海怎样做网站怎么在电脑上自己做网站吗
  • 上传商品的网站广东外贸网站建设企业
  • 重庆卓光网站建设无锡网站建设
  • 北京 网站 公司开发公司副总求职简历
  • 深圳网站优化项目微信公众号可以做什么
  • 中国核工业二四建设有限公司实习安排在公司官方网站哪里看?请牢记此域名
  • 公司网站域名及空间福建设计网站
  • 找衣服款式的网站网站制作验收单
  • 网站建设之开展电子商务wordpress外贸服装营销型主题
  • 南宁大型网站建设广州网站设计服务商
  • 用凡科做网站的费用wordpress 菜单 标签
  • 没有备案的网站使用微信seo网站建设 厦门
  • js逆向之补环境代理模板
  • 微网站是手机网站吗wordpress加载单页面内容
  • 新手想做网站赚钱北京网站开发培训班
  • 制作企业网站页面html网站开发与数据库有关系吗