2017-02-16 5 views
0

ich versuche, mein Frontend mit meinem Backend zu verbinden, die Anfrage ist richtig gemacht, ich erhielt die richtigen Daten, aber das DOM wird nicht aktualisiert. Ich benutze dies. $ NextTick aber es wirkt sich nicht auf das Updatevuejs nextick nicht aktualisieren

in der Vorlage ich verwende {{}} system.CPU.avgload , wie ich sagte, die es richtig in nexttick passieren erfolgt holen, aber nichts ändern

im Haupt vue ich habe diese

import System from '../utils/system' 
import Auth from '../utils/auth' 

export default { 
    created: function() { 
    this.system = { 
     CPU: { 
     avgload: 0 
     } 
    } 
    }, 
    mounted: function() { 
    this.fetchData() 
    setInterval(function() { 
     this.fetchData() 
    }.bind(this), 10000) 
    }, 
    methods: { 
    fetchData() { 
     if (!Auth.checkAuth) { 
     console.log('test') 
     this.error = true 
     } else { 
     var self = this 
     this.$nextTick(function() { 
      System.Get(function (response) { 
      self.system = response 
      }) 
     }) 
     } 
    } 
    } 
} 

und die Vorlage

<div class="text-xs-left" id="example-caption-1">CPU : {{ system.CPU.avgload }} %</div> 

Antwort

0

Sie Variable system in der 01 hinzufügen müssenAbschnitt der Vue-Instanz. Dann wird nur diese Variable reaktiv und im HTML verfügbar.

export default { 
    data: function() { 
    return { system: { 
       CPU: { 
        avgload : "" 
       } 
      } 
      } 
    } 
    ... 
    ... 
+0

Arbeiten Sie wie erwartet, damit das erstellte nicht mehr benötigt wird? – arckosfr