我想根据使用vue.js的数组条目数动态创建方框。
例如:带
的数组[ '101', '102', '103']
从浏览器控制台传递到vue.js
脚本,然后在第一个框中带有文本101
的三个方框,依此类推。
答案 0 :(得分:1)
为了帮助您入门,可能是更好更简单的方法,请在评论中发布 @bert 查看此fiddle
您还可以使用Render functions,以便您获得javascript的强大功能,以编程方式构建您的HTML
<强>脚本强>
Vue.component("my-boxes", {
props: ["boxes"],
render(createElement){
return createElement("div",
this.boxes.map((box) => {
return createElement('div', {
style: {width: "50px", height: "50px", border: "1px solid red", margin: "5px"}
}, box);
})
)
}
})
new Vue({
el: "#app",
data(){
return{
myArr: ["101", "102", "103"]
}
}
})
<强>模板强>
<div id="app">
<my-boxes :boxes="myArr"></my-boxes>
</div>
这是工作fiddle
<强>要点:强>
render
函数接收createElement
作为其参数。createElement
用于创建虚拟节点,其中vue放在一起形成虚拟dOM。然后使用此虚拟DOM创建实际的HTML DOM,该DOM将在页面中呈现。boxes
传递给my-boxes
组件,其中包含要呈现的框数组boxes
道具来创建div元素的子虚拟节点,形状像一个包含文本的红框