vue.js学习

vuedose.tips(翻译系列十一)

2019-10-05  本文已影响0人  知识文青

Simple and performant functional Vue.js components

有时我们不需要复杂的组件,在某些情况下,甚至不需要它们单独拥有一个状态。当构建没有太多逻辑的UI组件时可能就是这种情况。

对于这种情况,功能组件可能非常合适。它们是无状态且无实例的,这意味着它甚至没有一个实例(因此无法调用this.$emit等)

这使他们易于推理,更快,更轻巧。 问题是,什么时候可以使用功能组件?简单:当它们仅依赖 props 时。 例如,以下组件:

<template>
  <div>
    <p v-for="item in items" @click="$emit('item-clicked', item)">
      {{ item }}
    </p>
  </div>
</template>

<script>
  export default {
    props: ["items"]
  };
</script>

可以按以下功能方式编写:

<template functional>
  <div>
    <p v-for="item in props.items" @click="props.itemClick(item);">
      {{ item }}
    </p>
  </div>
</template>

Pay attention to the things that changed:

Do you want to see it in action? Check it out yourself in thisCodeSandbox!

上一篇下一篇

猜你喜欢

热点阅读