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

驻马店做网站哪家好网店seo

驻马店做网站哪家好,网店seo,常州做网站的,湖南省郴州市宜章县1.组件的本质 组件就是一组 DOM 元素的封装,本质就是一个对象 (mounted函数中打印一下组件即可看到打印的是一个对象) 如何利用javascript对象来描述一个组件? const MyComponent {render() {return {tag: div,props: {onClick: () > alert(hell…

1.组件的本质

组件就是一组 DOM 元素的封装,本质就是一个对象

(mounted函数中打印一下组件即可看到打印的是一个对象)

如何利用javascript对象来描述一个组件?

const MyComponent = {render() {return {tag: 'div',props: {onClick: () => alert('hello')},children: 'click Me'}}
}const vnode = {tag: MyComponent
}

如何修改渲染器的内容?渲染函数时写的只是针对虚拟节点不是针对组件(即传入一个对象)

2.手写组件渲染函数

虚拟节点为字符串时:手写Vue渲染器render函数-CSDN博客

重点:和普通字符串tag不同的时,判断vnode.tag是一个组件时,通过组件的render函数获取组件对象的虚拟节点

    <div id="app"></div><script>// 手写render函数组件对象渲染到页面/*重点:使用vnode.tag作为创建的dom标签el(判断vnode.tag是一个组件时,通过组件的render函数获取组件对象的虚拟节点)*//*** @vnode 虚拟 DOM 对象* @container 一个真实 DOM 元素,作为挂载点,渲染器会把虚拟 DOM 渲染到该挂载点*/function render(vnode, container) {// 通过判断vode的tag为对象则为组件渲染if(typeof vnode.tag === "string"){mount(vnode, container);}else if(typeof vnode.tag === "object"){let comVnode = vnode.tag.render();mount(comVnode, container);}else{// ...其他操作}}// tag为字符串时的渲染函数function mount(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')// 仿组件结构(可以通过render方法获取组件的虚拟节点对象数据)const MyComponent = {render() {return {tag: 'div',props: {},children: [{tag: 'p',props: {},children: '我是一个p标签'},{tag: 'button',props: {onClick: () => alert('hi vue')},children: '按钮'}]}}}const vnode = {tag: MyComponent}render(vnode, container)

http://www.laogonggong.com/news/21515.html

相关文章:

  • 潍坊地区做幼儿园网站的中央电视台新闻联播广告价格
  • 交通部的建设标准网站百度入驻商家
  • 唐山路北网站建设seo页面排名优化
  • 乐都企业网站建设公司广告公司接单软件
  • 网站单页站群在线建站平台免费建网站
  • 经典编辑器wordpressseo关键词怎么选
  • wordpress4.7.4+for+saeseo深圳培训班
  • Wordpress垂直类目站模版百度推广关键词越多越好吗
  • 网站首页导航栏怎么做一份完整app运营推广方案
  • 网站如何做百度推广灯塔网站seo
  • 郑州市有做网站的吗谷歌搜索广告
  • 建设网站的课题如何自己弄一个网站
  • 外贸网站建设智能建站北京seo公司司
  • 做网站PPPOE网络可以吗自己怎么做一个网页
  • 做海报的网站小白qqcpa推广平台
  • 帮做网站设计与规划作业六年级上册数学优化设计答案
  • 菜单 wordpress西安seo公司哪家好
  • 网站后台发文章图片链接怎么做长尾关键词是什么
  • 惠州市人民政府门户网站百度视频下载
  • 上海技术做网站绍兴seo排名
  • 建材外贸网站建设网络推广和运营的区别
  • 个人优惠券网站怎么做网站运营课程
  • 做付费推广是网站好还是单页面好优化设计六年级上册数学答案
  • 网站建设项目总结上海高端seo公司
  • 潍坊发布最新疫情通报宁波seo网站推广
  • wordpress uploads搜索引擎优化的核心是
  • 武义县建设局网站软文大全500篇
  • 如何用源代码建设网站seo网络推广经理
  • 合肥高端网站建设公司哪家好完整企业网站模板
  • 建筑网站接单在线种子资源网