2017-01-13 2 views
0

Как вводить данные компонента в <router-link to="...">? Пример:Настройка привязки маршрутизатора к атрибуту с данными компонента в Vue.js

var data = {files: [{name: "test", path: "/test"}]}; 

var component = { 
    data: function() { 
     return data 
    }, 
    template: '<ul class="files"><li v-for="file in files"><router-link to="{{ file.path }}">{{ file.name }}</router-link></li></ul>', 
    created: function() {...} 
}; 

В этом примере выход равен <li><a href="#/{{ file.path }} ">test</a></li>. Как я могу получить /test вместо #/{{ file.path }}?

+0

Возможный дубликат [Как вы можете динамически создавать маршрутизатор-ссылки в Vue .js?] (http://stackoverflow.com/questions/41474129/how-can-you-dynamically-build-router-links-in-vue-js) – AldoRomo88

ответ

1

Вы используете неправильный синтаксис, Вам просто нужно использовать v-bind следующим образом:

template: '<ul class="files"><li v-for="file in files"><router-link v-bind:to="file.path">{{ file.name }}</router-link></li></ul>', 

или короче:

template: '<ul class="files"><li v-for="file in files"><router-link :to="file.path">{{ file.name }}</router-link></li></ul>', 
+0

Вот и все, спасибо! – Bernd