简述什么是Vue渲染函数 ?举个例子 ?

Vue 的渲染函数是一个普通的 JavaScript 函数,用于创建和返回虚拟 DOM(VNode)。它提供了一种更灵活的方式来编写组件的模板,特别是在一些模板语法无法处理的复杂情况下。

渲染函数通常接收一个 createElement 函数作为其参数,你可以使用这个函数来创建虚拟 DOM。createElement 函数接收三个参数:一个 HTML 标签字符串、一个对象(用于指定元素的属性)以及一个子节点数组。

下面是一个使用渲染函数的例子:

Vue.component('anchored-heading', {
  render: function (createElement) {
    return createElement(
      'h1',   // 标签名称
      // 属性/选项对象
      {
        attrs: {
          id: this.id
        }
      },
      // 子节点数组
      [
        'Hello, ',
        createElement('span', 'world!')
      ]
    )
  },
  props: {
    id: {
      type: String,
      required: true
    }
  }
})

在这个例子中,我们创建了一个名为 anchored-heading 的组件,这个组件使用了一个渲染函数来创建一个带有 id 的 h1 标签,标签内容为 “Hello, world!”。

虽然渲染函数提供了更大的灵活性,但它的语法比模板语法复杂,所以在大部分情况下,我们仍然推荐使用模板语法来编写组件的模板。

发表评论

后才能评论