美文网首页
Vue之render方法

Vue之render方法

作者: studentliubo | 来源:发表于2020-12-15 17:28 被阅读0次

    之所以会提这个方法起因是看elementUI时发现有不少组件都是使用了render方法,一时之间没看懂,调查以后是因为自己基础薄弱的缘故,特此记录一下:

    下面使用elementUI中的Avatar组件说明一下

     render() {
        const { avatarClass, size } = this;
        const sizeStyle = typeof size === 'number' ? {
          height: `${size}px`,
          width: `${size}px`,
          lineHeight: `${size}px`
        } : {};
        return (
          <span class={ avatarClass } style={ sizeStyle }>
            {
              this.renderAvatar()
            }
          </span>
        );
      }
    

    该组件没有template标签,只有Script内容。上面的代码通过覆盖render方法来创建模板,Vue官方说明链接在这儿,创建完成以后再将其对外开放:

    import Avatar from './src/main';
    
    /* istanbul ignore next */
    Avatar.install = function(Vue) {
      Vue.component(Avatar.name, Avatar);
    };
    
    export default Avatar;
    

    这样一个渲染函数实现的组件就完成了。

    相关文章

      网友评论

          本文标题:Vue之render方法

          本文链接:https://www.haomeiwen.com/subject/ngvwgktx.html