Vue-render方法

看了官网的渲染函数render,https://cn.vuejs.org/v2/guide/render-function.html,对于刚接触的话,可能会懵逼的,会不知道啥意思。后面话 根据资料和文档  写下自己的见解  虽然有点粗糙

Vue.component('anchored-heading', {
  /*
  @params createElement  声明工具函数的名称;
    接受三个参数
    ElementName:设定抽象语法树根节点元素名称; string   比如 p,h2,div等html标签元素
    ElementProperty:设定根节点元素的属性; Object 给标签元素添加属性样式方法等 {style : {}, on : {}, attrs : [],class : []}
    ChildNode:设定子节点; String | Array 给标签添加子元素  可以是一个字符串 也是一个 createElement组成的数组
  @returns {VNode}
  */
  render: function (createElement) {
    return createElement(
      'h' + this.level,   // tag name 标签名称
      {
        style : {
            fontSize : 10px,
        },
        on : {
            动作: 方法
            click : function(){}
        }
      },
       //第三个参数可以传文本 也是 工具方法
      //文本的话
      ‘我是元素的子元素’,
      // 工具方法, 也就是多个子元素
     [
         createElement(ElementName,ElementProperty,ChildNode),
         createElement(ElementName,ElementProperty,ChildNode),
     ]
    )
  }
 
})

 在render的createElement  里面 不仅可以渲染一个  也可以添加多个元素,但最外层就要用个盒子包裹起来  有点类似HTML的布局方式  只不过这个是用JavaScript来代替渲染绘画

发布了29 篇原创文章 · 获赞 4 · 访问量 3596

猜你喜欢

转载自blog.csdn.net/qq_37564189/article/details/103934678
今日推荐