2016-11-21 2 views
0

В настоящее время я создаю клиентское приложение Vue JS с помощью Vue Router. Чтобы дать вам немного истории, приложение загружает json-файл, хранящийся на сервере, для отображения данных. Периодически этот файл обновляется, и я хочу повторно загрузить файл и обновить представление.Vue JS router и динамическое обновление содержимого маршрута

Игнорирование выборки файла данных (этот бит в порядке), когда я настроил новую выборку данных и обновил данные с использованием базового примера Vue, он работает так, как ожидалось.

Однако, когда я вводил Vue Router, отображаемые обновленные данные не отображаются. Выполнение console.log с результатами (и даже экземпляром router/vue) показывает новые изменения данных, но HTML не обновляется, чтобы отразить изменение.

Я использую Vue 2 (что довольно новое), и все документы/примеры указывают на обновление данных на странице навигации & с использованием узла (которого я не делаю).

Я издевался над простым бункером JS с основным процессом того, что я делаю. Вы можете видеть в массиве newData, изменяется имя и процент первого элемента.

http://jsbin.com/jeseden/edit?js,output

Любая помощь очень ценится.

ответ

0

Вы код не работает, как в компоненте ListingCompo, вы инициализируете данные, но не знаете о последующих изменениях. Чтобы изменения отражались позже, либо вам нужно поместить наблюдателя на родительские данные, либо просто иметь вычисленное свойство, которое будет меняться при изменении ваших родительских данных.

var ListingCompo = { 
    template: '#template', 
    data: function() { 
     return {    
     } 
    }, 
    computed: { 
     records(){ 
     return this.$parent.records 
    }  
    } 
}; 

jsbin.

Смежные вопросы