【问题标题】:Script setup - how to use props in computed脚本设置 - 如何在计算中使用道具
【发布时间】:2021-07-21 12:50:35
【问题描述】:
<script setup>
import { defineProps, computed } from '@vue/runtime-core'

defineProps({
  foo: Array,
})

const length = computed(() => {
  return foo.length         // foo is not defined
})
</script>

在这个不言自明的块中,当我尝试在计算中访问 props 变量时,会抛出类似“foo is not defined”的错误

【问题讨论】:

    标签: vue.js vuejs3


    【解决方案1】:

    解构道具定义可以清除一些样板代码,并让您在整个脚本中直接访问它们:)

    import { computed } from 'vue'
    //since I last tested, don't need to import defineProps
    
    const { foo } = defineProps({ 
      foo: Array,
    })
    
    const length = computed(() => {
      return foo.length
    })          
    </script>
    

    【讨论】:

      【解决方案2】:

      defineProps 返回对给定 props 的引用,您可以从中访问 foo in computed

      <script setup>
      import { defineProps, computed } from 'vue'
              ?
      const myProps = defineProps({
        foo: Array,
      })
      
      const length = computed(() => {
        return myProps.foo.length
      })          ?
      </script>
      

      demo

      【讨论】:

      • 从来没有见过用这些漂亮的手做出如此具有教育意义的解释。拍拍拍!
      猜你喜欢
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 2019-03-16
      • 2017-01-21
      • 1970-01-01
      • 2019-11-11
      相关资源
      最近更新 更多