2
Firebaseからデータを取得してグラフに表示するために、Vue.jsをChart.jsとともに使用しています。 これは私のコードです:Firebase Data Vue.jsを使用して配列に動的に値を設定する
import {Line} from 'vue-chartjs'
let Firebase = require('firebase');
//
let config = {
apiKey: '****************************',
authDomain: '****************************',
databaseURL: '****************************',
storageBucket: '****************************'
};
let firebaseApp = Firebase.initializeApp(config);
let db = firebaseApp.database();
let schools = db.ref('schools');
export default Line.extend({
firebase: {
schoolsArray: schools
},
data(){
alert('data');
return {
names: []
}
},
computed: {
schoolNames: function() {
for (let item of this.schoolsArray) {
this.names.push(item.name);
}
alert('computed');
return this.names
}
},
mounted() {
alert('mounted');
this.renderChart({
labels: this.names.toString(),
datasets: [{
label: 'School Reports', backgroundColor: '#dd4935',
data: [10, 20, 50, 12, 34, 43, 45]
}]
}, {responsive: true, maintainAspectRatio: true})
}
})
問題が名前配列は常に空で、ラベルが表示されないということです。ここでは、それがどのように見えるかです:
私はX軸上の学校名を表示する必要があります!下の絵で
名前が取得されたがグラフに表示されていないことを示すもう1つの画像を投稿しました。 –
'rendercart'メソッドを' .once'コールバックでもう一度呼び出すと助けになりますか? – user2520818
はい私はメソッドのライフサイクルフックにこのコードを使用し、renderChartの前にマウントされた内部で呼び出すが、まだ私はどのラベルも見えない –