Я перехожу в представление из другого представления и передаю itemdId в качестве значения параметра в vue router.
Я хочу иметь возможность вызывать firebase с этим itemId, чтобы я мог фильтровать данные, и отфильтрованные результаты / данные используются в пользовательском интерфейсе. Я использую vuefire
.
Происходит то, что vue начинает рендеринг до того, как данные будут доступны в create (), и я вижу ошибку, когда консоль говорит, что представление ссылается на неопределенные значения свойств.
Есть ли способ визуализации представления после того, как данные станут доступны?
Я пробовал использовать beforeMount
, а также created
и beforeCreate
.
См. Код ниже:
<h1>{{projects[0].project_name}}</h1> //it says type error. cannot read property project_name of undefined. Sometimes on refresh it works but most times it does not.
Код скрипта ниже:
let projectsRef = db.ref('projects');
export default {
name: 'ProjectDetailsOpenInvesting',
props: {
data: Object
},
firebase:{
projects: projectsRef
},
data(){
return {
projects:[],
.....
}
},
created(){
var that = this;
console.log(this.$route.params.itemid) //this works
this.projects = this.projects.filter(function(p){
return p.project_id == that.$route.params.itemid //this works as well
})
}
Скриншот Firebase здесь