Vue SVG путь с V-для - PullRequest
       47

Vue SVG путь с V-для

0 голосов
/ 22 октября 2018

Я пытаюсь привязать различные координаты в пути svg к data () в vue.js

<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500">
       <g>
           <path v-for="n in 50" d="'M0 ' + (n*10) + ' L500 ' + (n*10)" fill="white" stroke="lightgray" />
           <path v-for="n in 50" d="{'M0 ' + (n*10) + ' L500 ' + (n*10)}" fill="white" stroke="lightgray" />
       </g>
</svg>

Альтернативой является вызов метода, и он работает,

<path v-for="n in 400" :d="gridy(n)" fill="white" stroke="lightgray" />

Метод gridy ()

gridy(n) {
                return "M0" + " " + (n * 10) + " L500 " + (n * 10)
            },

Способ, которым я пытался сделать это без вызова неправильного метода?

Спасибо

1 Ответ

0 голосов
/ 22 октября 2018

Вам просто нужно связать атрибут d в SVG следующим образом:

<path v-for="n in 50" :d="'M0 ' + (n*10) + ' L500 ' + (n*10)" fill="white" stroke="lightgray" />

Рабочий пример:

new Vue({el: '#app'})
Vue.config.devtools = false
Vue.config.productionTip = false
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<main id="app">
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500">
       <g>
           <path v-for="n in 50" :d="'M0 ' + (n*10) + ' L500 ' + (n*10)" fill="white" stroke="lightgray" />
       </g>
</svg>
</main>
...