当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Vue中jsx的最简单用法

Vue中jsx的最简单用法

2019年08月14日  | 移动技术网IT编程  | 我要评论

最终页面显示效果为

<div class="open-service" style="color: #0199f0; cursor: pointer;">
    hello
    <p>world</p>
</div>

主页面

parent.vue

<template>
  <div class="hello">
    <vue-test :typespan="typespan"></vue-test>
  </div>
</template>

<script type="text/jsx">
  import vuetest from "./jsx/vuetest";
export default {
  name: 'helloworld',
  components:{
    vuetest,
  },
  computed:{
    typespan(){
      return {
        text:'hello',
        attrs:{
          class:"open-service",
          style:'color:#0199f0;cursor:pointer'
        },

      }
    }
  },
}
</script>

子页面child.vue有两种方法

第一种

<script type="text/jsx">
export default {
    props: {
        typespan:{
            type:object,
            default:{}
        }
    },
    created(){

    },
    methods:{
        opencontactservice(){
            alert(1)
        },
    },
    render(createelement) {
        return(
            <div
                class={this.typespan.attrs.class}
                style={this.typespan.attrs.style}
                onclick={this.opencontactservice}>
                {this.typespan.text}
              <p >world</p>
            </div>
        )
    }
}
</script>

第二种

<script type="text/jsx">
export default  {
    props:{
        typespan:{
            type:object,
            default:{}
        }
    },
    methods:{
        opencontactservice(){
          alert(1)
      }
    },
   render(createelement, context) {
        return createelement(
            'div',{
                class:this.typespan.attrs.class,
                style:this.typespan.attrs.style,
                on:{
                    click:this.opencontactservice
                }
            },[
                this.typespan.text,
                createelement('p','world'),
            ]

        )
   }
}
</script>

这是两个最简单的例子

参考链接 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网