老师请问这个变量再赋值 什么时候该用呢

来源: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回答

好帮手慕星星

2018-08-03

因为下面有一个replace的操作,

http://img.mukewang.com/climg/5b63c10a0001230a03050078.jpg

如果不赋值给其他变量,这样只有第一次是数据是正确的,replace之后就会把全局的template变量值给改变的,后面的数据就会出现错误。这样每循环一次就把模板赋值给另一个变量,每次replace的时候都是用的全部的模板。自己再理解下,若帮助到了你,欢迎采纳!祝学习愉快~~

0

0 学习 · 36712 问题

查看课程