Skip to content

计算对象

关于

当使用computed创建好计算属性后,我们可以通过store.computedObjects来管理store内的所有计算属性,包括同步计算对象和异步计算对象。

通过store.computedObjects可以访问到所有的计算对象,store.computedObjects是一个Map对象。

说明:

  • 以上创建了一fullNamefullName2两个计算属性
  • store.computedObjects是一个Map对象,可以通过store.computedObjects.get("user.fullName")来获取fullName的计算对象,该对象是一个ComputedObject实例。
  • ComputedObject实例有一个run方法,可以手动执行计算函数。
  • 对于异步计算即可以通过store.computedObjects.get("user.fullName2").run()来手动执行计算函数,也可以通过store.state.user.fullName2.run()手动执行计算函数。
  • 而同步计算只能通过store.computedObjects.get("user.fullName").run()来手动执行计算函数。
  • ComputedObject实例有一个value属性,可以获取计算函数的返回值。
  • ComputedObject是一个类,查看API文档可以了解更多信息。
  • 默认情况下,使用声明computed时所在的状态数据路径作为ComputedObjectid,也可以通过options.id参数来指定id,如上例中的fullName3id=='myname'