Jan*_*sen 1 javascript firebase vue.js firebase-realtime-database vue-component
所以我正在创建一个Vuejs应用程序,我正在尝试在组件安装上获取firebase数据.这是有效的,但我尝试将值写入vuejs数据属性.为此,我只会this.property = snapshot.val();在firebase函数内部调用(参见下面的代码),但这不起作用:this is undefined
所以我的代码就是:
export default {
data() {
return {
imageList: "No images!"
}
},
mounted() {
if (!firebase.apps.length) {
// Initialize Firebase
var config = {
...
};
firebase.initializeApp(config);
var database = firebase.database();
var ref = database.ref("images").orderByChild("date");
firebase.database().ref("images/").once('value').then(function(snapshot) {
this.imageList= snapshot.val();
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试this.imageList= snapshot.val();使用变量来调用函数外部以存储值,并且'this'不再是未定义的,但数据不存在,因为请求尚未完成.
所以基本上我想得到snapshot.val(); 进入this.imageList!
提前致谢.
Eth*_*alm 10
您可以使用es6箭头函数语法来解决问题.
firebase.database().ref("images/").once('value').then((snapshot) => {
this.imageList= snapshot.val();
});
Run Code Online (Sandbox Code Playgroud)
或将其绑定到函数的上下文.
var that = this;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1381 次 |
| 最近记录: |