2017-05-15 5 views
1

Ich möchte jedes Mal, wenn sich meine Mock-Änderungen und Daten ändern, das Barchart erneut rendern oder aktualisieren. Ich schaue Daten in der Barchart-Komponente, aber es hat nicht funktioniert. "console.log ('this, this.dataa);" niemals auslösen. Ich habe keine Ahnung, welcher Teil falsch ist.d3 chart wird automatisch aktualisiert, wenn sich die Daten mit vue ändern

hier ist mein Code:

<sr-bar-chart 
:title= "descriptionText.title_traffic" 
:dataa= "mock" 
:unit="descriptionText.avg7d_unit_people" 
:index="'1'" 
:barColor="'#adadad'" 

und in Balkendiagramm Komponente

export default { 
name: 'sceneBarChart', 
props: ['title', 'dataa', 'unit', 'index', 'barColor'], 
    data() { 
    return { 
    count: 0 
    }; 
}, 
watchers: { 
    dataa() { 
    console.log('this', this.dataa); 
    this.drawMap(); 
    } 
}, 
methods: { 
    drawMap() { 
    .... 
    } 
}, 
mounted() { 
    this.drawMap(); 
} 

};

Danke!

+0

Könnten Sie zusammen eine Geige/Stift/was auch immer das demonstriert das Problem? – Bert

Antwort

3

Verwenden Sie watch anstatt watcher und nur für eine gute Maßnahme würde ich auch den newValue-Parameter hinzufügen.

watch: { 
    dataa(newValue) { 
    console.log('this', this.count); 
    this.drawMap(); 
    } 

hier weitere Informationen über beobachtete Eigenschaften: https://vuejs.org/v2/guide/computed.html#Watchers

+0

Sieht so aus, als hätte er eine Property mit dem Namen 'dataa' in Requisiten. – Bert

+0

@BerTevans Sie sind völlig richtig. Ich habe die Requisite vermisst. Lass mich das ein wenig genauer betrachten. –

+0

@BertEvans Ich habe meine Antwort basierend auf Ihrem Feedback und einer zweiten Überprüfung des Codes und der Dokumentation aktualisiert. –

Verwandte Themen