Vuejs:如何在创建的钩子中获取计算属性

时间:2018-04-25 01:16:32

标签: vue.js computed-properties

是否可以在创建的钩子中获取计算属性值?我当前的实现不起作用。我的理解是创建钩子将首先调用我的异步方法,async方法需要计算属性,但是当计算属性变为可用时,创建的钩子已经使用“undefined”参数执行。

请建议如何使计算属性可用于创建钩子方法。

created() {
        this.fetchPropertyOptions();
},
computed: {
    propertyList() {
        return this.data.value;
    },
},
methods: {
    async fetchPropertyOptions() {
        this.propertyOptionsMap = await api.GetOptions(this.propertyList);
    },
}

1 个答案:

答案 0 :(得分:1)

Vue组件的创建经历不同的生命周期。文档的lifecycle diagram section中有一个很好的图表。

从上至下阅读上述图表,您会注意到在示例中使用的created钩子。在Init injections & reactivity之后直接调用它。这是例如propsdatacomputed被初始化。之后,将调用created生命周期方法。

作为一个实际示例,在其Joseph Silber中链接的代码笔answer显示了created方法中计算属性的成功使用。

实际上,唯一不能使用injections & reactivity的生命周期方法是beforeCreated。所有其他生命周期方法,例如mountedupdated甚至beforeDestroydestroyed都可以访问它。