我有一个容器组件,其中有一个导航栏组件。我在beforeCreate中调用一个api,然后在此处设置变量,并在vue“状态”(数据)中设置它们,然后将其作为道具传递到导航栏组件。但是,这些不会出现。我在这里做什么错了?
<template>
<Navbar :title='title' />
<template>
<script>
export default{
name:'example',
data(){
return{
title:''
};
},
beforeCreate: function(){
axios.post('')
.then(response => {
this.title = response.title
})
}
}
</script>
我已经在控制台上记录了来自api的响应数据,因此我知道它可以正确生成数据。我还通过控制台在挂载的生命周期中记录了数据变量“ title”,它具有数据。但是导航栏的道具仍然是空的。
答案 0 :(得分:0)
beforeCreate 。使用 beforeMount
重试答案 1 :(得分:0)
仅在beforeCreate
生命周期方法中,您的data
对象尚未加载,因此您目前无法调用它,因此,最佳做法是使用created
方法>
这是在Vue JS中被调用的第一个生命周期挂钩,在初始化Vue实例后立即被调用。
第二个生命周期挂钩,它在beforeCreated
挂钩之后立即被调用。在此阶段,Vue实例已初始化,并已启动了诸如计算属性,观察程序,事件,数据属性以及其附带的操作之类的事情。
created: function(){
axios.post('')
.then(response => {
this.title = response.title
})
}