2017-02-16 18 views
0

Я пытаюсь подключить свой интерфейс к моему серверу, запрос выполнен правильно, я получил правильные данные, но DOM не обновляется. Я использую это. $ NextTick, но это не влияет на обновлениеvuejs nextick не обновляет

в шаблоне я использую {{}} system.CPU.avgload , как я сказал, что выборка будет сделано правильно, он проходит в nexttick, но изменить ничего

в главном вю у меня есть этот

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 
      }) 
     }) 
     } 
    } 
    } 
} 

и шаблон

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

ответ

0

Вы должны добавить переменную system в data раздел экземпляра vue. Чем только эта переменная станет реактивной и доступной в HTML.

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

Работайте как и ожидалось, поэтому с этим созданный больше не требуется? – arckosfr