![](/img/trans.png)
[英]Javascript Vue 3 Extract data from an array and display into a table
[英]Data table from array in VUE
我正在尝试将此 JavaScript 代码转换为 Vue JS ES5。 这是我的显示表格的 Javascript:
window.addEventListener("load", function(){
// simple array
var data = ["cat", "mouse", "bird", "goat", "monkey", "giraffe","cow","donkey","mice", "camel", "elephant", "bufalo", "jade","zebra","goose","hen","zat"];
// html table
var perrow = 4, // 7 items per row
html = "<table><tr>";
// Loop through array and add table cells
for (var i=0; i<data.length; i++) {
html += "<td>" + data[i] + "</td>";
// Break into next row
var next = i+1;
if (next%perrow==0 && next!=data.length) {
html += "</tr><tr>";
}
}
html += "</tr></table>";
document.getElementById("container").innerHTML = html;
});
如何转换为 vue js。 我的Vue代码是
<script type="text/javascript">
var appVM= new Vue({
el:'#app',
mydata:{["cat", "mouse", "bird", "goat", "monkey", "giraffe","cow","donkey","mice", "camel", "elephant", "bufalo", "jade","zebra","goose","hen","zat"];
},
</script>
<table id="myTable" class="display table" width="100%">
<tbody>
<tr v-for="data in mydata">
<td> data to appear in this section</td>
</tr>
</tbody>
</table>
通过阅读手册: https ://v2.vuejs.org/v2/guide/list.html
您需要采取以下步骤:
app
命名为参考mydata
的数组的对象填充 data 属性td
中使用{{ data }}
调用项目的内容 var appVM = new Vue({ el: '#app', data: {mydata : ["cat", "mouse", "bird", "goat", "monkey", "giraffe", "cow", "donkey", "mice", "camel", "elephant", "bufalo", "jade", "zebra", "goose", "hen", "zat"]} });
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <table id="app" class="display table" width="100%"> <tbody> <tr v-for="data in mydata"> <td> {{ data }}</td> </tr> </tbody> </table>
我知道您要的是基于表格的布局,但是由于数组实际上并不包含表格数据,因此我会使用 CSS 样式的弹性框或基于网格的布局。
var appVM = new Vue({ el: '#app', data: { entries : ["cat", "mouse", "bird", "goat", "monkey", "giraffe", "cow", "donkey", "mice", "camel", "elephant", "bufalo", "jade", "zebra", "goose", "hen", "zat"] } });
#app { display: flex; flex-wrap: wrap; } .entry { flex: 1 0 25%; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script> <div id="app"> <div v-for="entry in entries" class="entry">{{ entry }}</div> </div>
var appVM = new Vue({ el: '#app', data: { entries : ["cat", "mouse", "bird", "goat", "monkey", "giraffe", "cow", "donkey", "mice", "camel", "elephant", "bufalo", "jade", "zebra", "goose", "hen", "zat"] } });
#app { display: grid; grid-template-columns: repeat(4, 1fr); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script> <div id="app"> <div v-for="entry in entries" class="entry">{{ entry }}</div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.