svg - vue svg 路径与 v-for

标签 svg vue.js path v-for

我正在尝试将 svg 路径中​​的各个坐标绑定(bind)到 vue.js 中的 data()

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

我尝试在不调用方法的情况下执行此操作的方式是否不正确?

谢谢

最佳答案

您只需 bind SVG 的 d 属性如下所示:

<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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5c2a29391c6e7269726d6b" rel="noreferrer noopener nofollow">[email protected]</a>/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>

关于svg - vue svg 路径与 v-for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52931810/

相关文章:

javascript - 隐藏 {{ Mustache }} 时,Vue.js 中 v-text 和 v-load 的区别?

java - 源文件夹文件 Java

javascript - 在 Firefox 中将 SVG 绘制到 Canvas 时出现 InvalidStateError(适用于 Chrome)

javascript - 如何在 d3 v4 中交叉过滤直方图和散点图矩阵?

javascript - 如何绕过文件加载器?

javascript - d3 v4 tree.nodeSize 问题。即使应用平移后,根也设置为 0,0

javascript - 页面重新加载时,Vue getter 返回未定义

javascript - 处理 Vuex 操作结果的做法是什么

java - 使用绝对路径时无法从 cmd 找到或加载主类

android - 如何调整路径大小?