是否可以在创建的钩子中获取计算属性值?我当前的实现不起作用。我的理解是创建钩子将首先调用我的异步方法,async方法需要计算属性,但是当计算属性变为可用时,创建的钩子已经使用“undefined”参数执行。
请建议如何使计算属性可用于创建钩子方法。
created() {
this.fetchPropertyOptions();
},
computed: {
propertyList() {
return this.data.value;
},
},
methods: {
async fetchPropertyOptions() {
this.propertyOptionsMap = await api.GetOptions(this.propertyList);
},
}
答案 0 :(得分:1)
Vue组件的创建经历不同的生命周期。文档的lifecycle diagram section中有一个很好的图表。
从上至下阅读上述图表,您会注意到在示例中使用的created
钩子。在Init injections & reactivity
之后直接调用它。这是例如props
,data
和computed
被初始化。之后,将调用created
生命周期方法。
作为一个实际示例,在其Joseph Silber中链接的代码笔answer显示了created
方法中计算属性的成功使用。
实际上,唯一不能使用injections & reactivity
的生命周期方法是beforeCreated
。所有其他生命周期方法,例如mounted
,updated
甚至beforeDestroy
和destroyed
都可以访问它。