老师请问这个变量再赋值 什么时候该用呢
来源:6-4 按医院查找-分页原理、前端模版原理
carrienon
2018-08-03 09:33:06
var template=$('#template_datalist_ite').html(); // 3. 数据列表呈现数据 $('.datalist') .on('render',function(){ //设置当前页页码高亮 $('.page_wrap .item_page').removeClass('item_page_focus').eq(currentPage).addClass('item_page_focus'); //获取当前页数据 var arrDatalist=DataHospital.slice(currentPage*pageSize,(currentPage+1)*pageSize); //清空页面死数据 $('.datalist').empty(); //将数据加载如模板并添加至页面 for(i=0;i<arrDatalist.length;i++){ var d=arrDatalist[i]; var objectData={ 'area':d[0],'level':d[1],'type':d[2],'name':d[3], 'address':d[4],'phone':d[5],'imgUrl':d[6],'time':d[7] }; var html=template;//重要,直接用template则只会出现第一条数据因为是全局变量,而每一次循环赋值给html则循环一次释放一次?每一次可以载入不同的值? for(k in objectData){ var v=objectData[k]; html=html.replace('{'+k+'}',v) }; $('.datalist').append(html); }; });
var template=$('#template_datalist_ite').html();
var html=template;
前面给template赋值以后为什么还要把template赋值给html才行呢?谢谢老师
1回答
因为下面有一个replace的操作,
如果不赋值给其他变量,这样只有第一次是数据是正确的,replace之后就会把全局的template变量值给改变的,后面的数据就会出现错误。这样每循环一次就把模板赋值给另一个变量,每次replace的时候都是用的全部的模板。自己再理解下,若帮助到了你,欢迎采纳!祝学习愉快~~
相似问题