之前都是做后台工作,由於工作需要才學VUE,想快點入手,但是官方文檔,真的是不太盡人意,需要自己查閱大量的資料。
廢話少說,直接上代碼吧,給一些想快速上手的小伙伴們一點幫助,少走點彎路,少花點時間。
想要像寫render函數, 其實就是把<template></template>去掉,比如現在有A.vue是用render來寫的,那么代碼如下:
<script>
export default {
name: "mycomponent",
render: function(createElement) {
return createElement(
"h" + this.level, // tag name 標簽名稱
this.$slots.default // 子組件中的陣列
);
},
props: {
level: {
type: String
}
}
};
</script>
然后想在B.vue調用A.vue,直接像調用正常組件一樣就可以了,代碼如下
<template>
<div class="hello">
<zj level="2">
<slot>我是render組件</slot>
</zj>
</div>
</template>
<script>
import zj from '@/components/A'
export default {
name: 'HelloWorld',
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
},
components:{
zj
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
font-weight: normal;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
其實就是這么簡單,沒做過的小伙伴們也許很疑惑,但是說清楚了,其實就是那么一回事。希望對剛剛學習VUE的小伙伴們有所幫助
