artTemplate模板引擎学习(json的key字符串两端不能有空格)
来源:互联网 发布:网络流行语网站 编辑:程序博客网 时间:2024/05/04 22:34
文章参考:
http://www.jq22.com/jquery-info1097/
最近在工作中写了一个树形结构,数据是自己设计的:
var fomat = { "机构ID_1": { "orgId": 机构ID, "orgName"机构名字, "users": { "用户ID_1":{ "id ": 用户ID, "leaderId ": 汇报人ID, "leaderName ":汇报人名字, "postId ": 职位ID, "postName ": 职位名字 }, "用户ID_2":{ "id ": 用户ID, "leaderId ": 汇报人ID, "leaderName ":汇报人名字, "postId ": 职位ID, "postName ": 职位名字 } } }, "机构ID_2": { "orgId": 机构ID, "orgName"机构名字, "users": { "用户ID_1":{ "id ": 用户ID, "leaderId ": 汇报人ID, "leaderName ":汇报人名字, "postId ": 职位ID, "postName ": 职位名字 }, "用户ID_2":{ "id ": 用户ID, "leaderId ": 汇报人ID, "leaderName ":汇报人名字, "postId ": 职位ID, "postName ": 职位名字 } } } };
使用artTemplate 模板引擎做数据解析,但是怎么解析都有问题,最后把数据拉到本地,发现在本地使用正常,
在浏览器中调试,先将json对象转为字符串,然后再转为JSON对象,也显示正常。
最后使用debug调试,发现是因为数据的key最后有一个空格,把key的空格去掉之后,页面显示正常了。
模拟数据,数据格式转换的代码如下:
[{ "avatar": "http://default.jpg", "id": 20770003, "leaderId": 20760000, "leaderName": "aaaaaa", "name": "bbbbbbbb", "orgId": 681, "orgName": "3333333", "postId": 700, "postName": "分公司经理" } ];// 格式化用户的信息 function formatUserInfo(){ var userCount = allUserJons.length; var result = {}; for(var i=0;i < userCount; i++){ // 从数据库获取的用户信息 var userInfo = allUserJons[i]; // 如果找不到这个机构ID,则需要新建 if(result[userInfo.orgId] == undefined){ // 机构对象 var orgObj = {}; // 机构ID orgObj["orgId"] = userInfo.orgId ; orgObj["orgName"] = userInfo.orgName ; //机构下面的员工 orgObj["users"] = {}; //机构下面具体的员工 var tempUser = {}; // 用户信息 tempUser["id"] = userInfo.id ; tempUser["leaderId"] = userInfo.leaderId ; tempUser["leaderName"] = userInfo.leaderName ; tempUser["postId"] = userInfo.postId ; tempUser["postName"] = userInfo.postName ; // 记录机构员工 orgObj["users"][userInfo.id] = tempUser; result[userInfo.orgId] = orgObj; } // 如果招到了员工 else{ // 机构对象 var orgObj = result[userInfo.orgId]; //机构下面具体的员工 var tempUser = {}; // 用户信息 tempUser["id"] = userInfo.id ; tempUser["leaderId"] = userInfo.leaderId ; tempUser["leaderName"] = userInfo.leaderName ; tempUser["postId"] = userInfo.postId ; tempUser["postName"] = userInfo.postName ; // 记录机构员工 orgObj["users"][userInfo.id] = tempUser; } } return result; } var abc = formatUserInfo(); console.dir(abc);
使用模板引擎的代码如下:
<!-- 汇报关系模板 --><script type="text/html" id="reportRelationTemplate">{{each orgsData as orgName i}}<li class="item" id="{{orgName.orgId}}"><div class="menu-header">{{orgName.orgName}}</div><!-- 非展开状态 --><div class="menu-body"><ul class="clearfix">{{each orgName.users as users i}}<li class="itemInfo" id="{{users.id}}"><p class="img"><img src="{{users.avatar}}" width="38" height="38" class="img-circle" /></p><p class="name">{{users.name}}</p><p class="position">{{users.postName}}</p><p class="icon-select"></p></li>{{/each}}</ul></div></li>{{/each}}</script>var data = res.data;var orgsData = formatUserInfo(data.list);console.log(orgsData);var data = {"orgsData" : orgsData};var html = template('reportRelationTemplate',data);
0 0
- artTemplate模板引擎学习(json的key字符串两端不能有空格)
- artTemplate模板引擎学习实战
- 去除字符串两端的空格
- 除去字符串两端的空格
- 腾讯js模板引擎 artTemplate 学习
- js模板引擎artTemplate学习总结
- 超快的前端模板引擎 artTemplate
- JS模板引擎---腾讯artTemplate的使用
- 关于js模板引擎 arttemplate 的使用
- 高性能js模板引擎(artTemplate )
- javascript模板引擎 artTemplate
- javascript模板引擎 Arttemplate
- Arttemplate 前端模板引擎
- ArtTemplate模板引擎入门
- JS模板引擎 :ArtTemplate
- JavaScript模板引擎-artTemplate
- javascript 模板引擎artTemplate
- 前端模板引擎 artTemplate
- css的命名规范
- Angular2 http服务
- ul的属性设置
- html5 多图预览
- 如何对input type=text 设置时间格式
- artTemplate模板引擎学习(json的key字符串两端不能有空格)
- SecureCRT连接服务器工具设置
- 浅谈CSS3新特性——线性渐变linear-gradient
- linux-shell命令之chgrp(change group)【更改群组】
- [简化代码] -- 我们要惜字如金
- Git详解之一 Git起步
- js 延迟事件加载
- android代码混淆
- SpringBoot -- 服务注册与发现