render jsx

2019-08-15  本文已影响0人  兰夏天

jsx 是一种看起来像html 但实际上是js 的语法扩展,它更接近dom的形式来描述一个组件的ui和状态信息。
Vue,js 提供了插件babel-plugin-transForm-vue-jsx 来支持JSX语法
使用creatElement 时,常用的配置如下。

 render (creatElement) {
    return creatElement('div', {
      props: { text: 'some text' },
      attrs: {
        id: 'myDiv'
      },
      domProps: {
        innerHTML: 'content'
      },
      on: {
        change: this.changeHander
      },
      nativeOn: {
        click: this.clickHander
      },
      class: {
        show: true,
        on: false
      },
      style: {
        color: '#fff',
        background: '#f50'
      },
      key: 'key',
      ref: 'element',
      refInfor: true,
      slot: 'slot'
    })
  },

上面的示例,使用jsx后 如下代码

 render (h) {
    return (
      <div
        id = 'myDiv'
        domPropsInnerHTML='content'
        onchange={this.changeHandler}
        nativeOnClick={this.clickHandler}
        class={{ show: true, on: false }}
        style={{ color: '#fff', background: '#f50' }}
        key='key'
        ref='element'
        refInFor
        slot='slot'
      ></div>
    )
  },

上一篇 下一篇

猜你喜欢

热点阅读