Javascript Vuejs组合API-属性更改

Javascript Vuejs组合API-属性更改,javascript,vue.js,vuejs3,Javascript,Vue.js,Vuejs3,我很好奇如何将道具传递到安装程序中,以及根据属性更改更新变量/模板的最佳实践是什么 我对反应式和计算式很好奇 例如: setup(props) { // Setup global config settings const config = computed(() => { return { // See if the component is disabled isDisabled: props.disabled, // (1) //

我很好奇如何将道具传递到安装程序中,以及根据属性更改更新变量/模板的最佳实践是什么

我对
反应式
计算式
很好奇

例如:

setup(props) {
  // Setup global config settings
  const config = computed(() => {
    return {
      // See if the component is disabled
      isDisabled: props.disabled, // (1)

      // Test for rounded
      isRounded: props.rounded // (2)
    }
  })

  return { config }
}
  • config.isDisabled
    config.isRounded
    是否应包装在各自的
    computed
    函数中,因为它们既不同又独立?然而,很容易将它们粘贴到一个大功能中。这方面的最佳做法是什么
  • 整个
    config
    函数是否在函数中的单个属性发生更改时进行评估,或者它是否能够识别更改并更新所需内容
  • 根据文档,
    reactive
    是非常被动的,用于对象,但是,我注意到它不会随着属性更改而更新。因此,我在Vue 2中更像是处理
    数据。我是否遗漏了什么,或者这是正确的治疗方法
  • 你根本不必用
    computed
    包装道具,因为它们是

    您也不必从设置函数返回
    config
    ,因为传递到组件的所有道具都应该自动公开到模板中

  • computed
    函数只计算一次,然后Vue3使用
    Proxy
    观察值的更改,并仅更新所需内容。如果需要在每次属性更改时运行函数,则可以使用

  • Vue3
    reactive
    实际上很深,可以很好地处理对象。它应该跟踪所有更改,除非您试图更改原始对象(反应式
  • 功能的目标)


    1-在我的情况下,他们需要-为了清晰起见,我删除了一些代码2-是否计算了整个代理,或者只是我想象的一部分,如果我有一个对象(样式)作为计算属性,它将在单个更改上计算整个属性(或多或少我的问题)