请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

两个关于Jquery中渲染数值的问题

1. 下面这是我接口返回数据的json格式,我在页面通过ajax想取到data下list集合中的status字段(1:正常用户,0:非正常用户),而在最外层已经有了一个status表示接口的成功与失败,0为成功,1失败。

//img1.sycdn.imooc.com//szimg/5a339fb60001dd7001670576.jpg

这是我在页面ajax调用接口的代码,只需要传页面数值就行了.下面是我的代码:

//img1.sycdn.imooc.com//szimg/5a33a25f000135c306350535.jpg

//img1.sycdn.imooc.com//szimg/5a339fb70001747705890737.jpg

现在我想取返回数据result中data中list集合里的用户status字段,然后根据status不同,显示不同标签。

但我用result.data.list.status却取不到status状态,取到的全是0(0在外层status代表接口数据获取成功);

list中的status,我在前面并没有定义, 但我用this.status反而却可以获取到list中用户的status字段.

有点没明白,这里This的使用。

下面这是我疑惑处的代码:

//img1.sycdn.imooc.com//szimg/5a33a073000138ad09220788.jpg

这是我渲染的模板:

https://img1.sycdn.imooc.com//szimg/5a33a5c600016caa08270583.jpg

2. <td>{{#showType}}{{/showType}}</td>
    <td>{{userName}}</td>

我用两种方式都尝试下获取相同的数值,没发现异常,好奇问下:

这两种渲染值的方式有什么区别

//img1.sycdn.imooc.com//szimg/5a33a2f20001da0a05710345.jpg

正在回答

1回答

你好,

1、result.data.list.status 取不到是因为 result.data.list 是个列表,需要遍历才能取到每一个user的status。

this.status 能用是因为Mustache render的那个模板是{{#userList}}{{/userList}}包裹的,里面相当于在遍历每一个对象user,因为可以使用this.status

2、区别是 :{{userName}}直接取的属性,{{#showType}}{{/showType}} 这个是取的render时定义的方法

0 回复 有任何疑惑可以回复我~
  • 提问者 Echo鑫 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-12-16 09:20:51
  • 提问者 Echo鑫 #2
    老师,那为什么"userName": dataList.userName
    却可以直接取到list中的值?
    回复 有任何疑惑可以回复我~ 2017-12-16 16:00:56
  • Jimin 回复 提问者 Echo鑫 #3
    哈哈,不得不说那个"userName": dataList.userName 是有问题的,换句话说是没有被使用的。模板里的的userName能正常展示,取的是 userList: dataList 里每个对象里的userName, 模板里的{{userName}} 出现在{{#userList} {{/userList}} 里的迭代过程中。
    回复 有任何疑惑可以回复我~ 2017-12-16 16:10:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信