vue.js 嵌套循环渲染
来源:互联网 发布:无缝丝袜淘宝贴吧 编辑:程序博客网 时间:2024/05/20 02:24
经常用到嵌套循环渲染数据
比如 在一个html页面上渲染 全国所有的 省直辖市 及其下辖的市县
省级对市县 一般是一对多的关系
在循环遍历省级单位时
需要对他的子集也进行遍历
市县类
public class City implements Serializable { private static final long serialVersionUID = 1876407617666848861L; private String cityId; private String cityName; private String provincialId; public String getCityId() { return cityId; } public void setCityId(String cityId) { this.cityId = cityId; } public String getCityName() { return cityName; } public void setCityName(String cityName) { this.cityName = cityName; } public String getProvincialId() { return provincialId; } public void setProvincialId(String provincialId) { this.provincialId = provincialId; } @Override public String toString() { return "{" + "cityId:" + cityId + ", cityName:" + cityName + ", provincialId:" + provincialId + '}'; }}
省级类
public class Provincial implements Serializable { private static final long serialVersionUID = 1167623414373639514L; private String provincialId; private String provincialName; private List<City> cityList; // 市县的集合 public String getProvincialId() { return provincialId; } public void setProvincialId(String provincialId) { this.provincialId = provincialId; } public String getProvincialName() { return provincialName; } public void setProvincialName(String provincialName) { this.provincialName = provincialName; } public List<City> getCityList() { return cityList; } public void setCityList(List<City> cityList) { this.cityList = cityList; } @Override public String toString() { return "{" + "provincialId:" + provincialId + ", provincialName:" + provincialName + ", cityList:" + cityList + '}'; }}
如果是简单的列表遍历 应该不是问题 如果是 在一些模板中 或者html中 往往无法在正常情况下 使用vue的指令
经过研究vue的 api 发现可以在
<template></template>使用避免以下情况
<table border="1" style="border-collapse:collapse"> <tr> <th>城市序号</th> <th>城市名称</th> <th>所属城市代号</th> </tr> 在下面的tr 标签中 无法加入v-for 来嵌套的情况 <tr > <th colspan="3">{{pro.provincialName}}</th> </tr> <tr> <td>{{city.cityId}}</td> <td>{{city.cityName}}</td> <td>{{city.provincialId}}</td> </tr> </template> </table>
代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <script src="${pageContext.request.contextPath}/static/jquery-1.11.3.js"></script> <script src="${pageContext.request.contextPath}/static/vue-2.2.6.js"></script> <title></title></head><body><div id="app"> <table border="1" style="border-collapse:collapse"> <tr> <th>城市序号</th> <th>城市名称</th> <th>所属城市代号</th> </tr> 下面加入2个template 来执行指令 嵌套遍历 <template v-for="pro in cities"> <tr> <th colspan="3">{{pro.provincialName}}</th> </tr> <template v-for="city in pro.cityList"> <tr> <td>{{city.cityId}}</td> <td>{{city.cityName}}</td> <td>{{city.provincialId}}</td> </tr> </template> </template> </table></div></body><script> new Vue({ el: '#app', data: { cities: '' }, created: function () { var $this = this; var url = '/rycxApi/provincial/allPro'; $.get(url, function (data) { console.log(data); $this.cities = data; }) } });</script></html>
达到了下面的效果
0 0
- vue.js 嵌套循环渲染
- vue.js基础-声明式渲染和条件与循环
- vue.js基础-声明式渲染和条件与循环
- vue.js 嵌套循环、if判断、动态删除
- vue.js条件渲染
- vue.js中的列表渲染(循环渲染)(v-for)
- Vue-不允许嵌套式的渲染
- Vue.js笔记-条件渲染 列表渲染
- Vue.js实现表格渲染
- vue.js渲染时间戳
- vue.js,ajax渲染页面
- js中循环嵌套
- 2.0vue.js 路由嵌套
- Vue.js教程5-条件渲染
- Vue.js教程6-列表渲染
- Vue.js中的列表渲染:v-for
- vue.js使用列表渲染的坑
- 03、vue.js 之数据渲染
- transport.js文件(解决ecshop jquery jqzoom冲突)
- poj1005 -- I Think I Need a Houseboat
- Java的日期与时间(七)java.util.Calendar和GregorianCalendar
- Matlab-奈奎斯特滤波器实现《一》
- Hello World!
- vue.js 嵌套循环渲染
- 每天一个小题目——计算器的新功能
- 程序员的这108个笑话 都能看懂的技术应该不会太差!
- 拷贝构造函数和赋值运算符有哪些不同点和相同点
- TED如何和压力做朋友(第四天完)
- 旅游问题
- tp的验证码的验证
- BestCoder ::So easy
- centos7下调试集群三台机器实现免密登陆--hadoop安装系列之一