0

我试图弄清楚如何经济地使用反应系统。我知道组件的 $options 用于非反应性数据,通常在 created() 或 mount() 方法中从其内部设置。但是有没有办法从父级传递 init 的非反应性道具?

举个简单的例子:

  • 假设我有一个将值呈现为货币的组件。
  • 99% 的时间货币是美元,
  • 100% 的时间货币在实例化后不会改变。
  • 但价值需要是被动的。
    (这是一个简单的例子,只是为了展示这个概念)
props: {
    value: {
        type: Number,
        required: true,
    },
    currency: {
        type: String,
        default: 'USD',
    },
},

但我不想在货币上花费观察者,因为它永远不会改变。

我可以以某种方式将其作为无人关注的 $option 传递吗?还有另一种方法吗?还是观察者如此便宜,以至于我不应该担心大规模的效率?

感谢您的任何帮助!

4

1 回答 1

0

要获取非反应性字段,请使用常规 HTML 属性而不是声明的属性,并通过组件$attrs对象访问它。

我会同意的Vue property。它是类型安全的、经过验证的,并且开销很小。

<my-element currency='12' />
const currency = parseFloat(this.$attrs.currency)
于 2019-10-23T12:23:44.793 回答