大家好,我是金庆大叔。
首先我们看看官方文档的说法:
Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML。然而在一些场景中,你真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更接近编译器。
我的理解是,render 能做的 template 能也能做。但是某些场景下,render 比 template 做的更好,让你少些很多代码。少很多if判断,早点return. 对于一个追求代码高效的程序员。有必要理解vue 的Render.
由于我一直用的是webpack+vue-cli+vue2.0的模块化开发的方式。所以我的例子会根据官方的例子进行改版。
以下是我想到的一些应用场景。
1.当你需要根据父组件的数据 ,动态改变子组件的显示内容,而子组件的内容大部分是重复的但是代码很多时。
父组件代码:
<template>
<div id="app">
<!--把要传到子组件的数字绑定到childLevel变量中,到子组件中用props接住-->
<child :childLevel="level"></child>
</div>
</template>
<script>
import child from '@/components/child'
export default {
name: 'father',
components: {
child
},
data () {
return {
level: 1
}
}
}
</script>
<style scoped>