老师请问这个变量再赋值 什么时候该用呢
来源: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的时候都是用的全部的模板。自己再理解下,若帮助到了你,欢迎采纳!祝学习愉快~~
相似问题