''+ ' '{scriptContent}
'+'
最近使用sencha touch2 的时候,动态生成的dataView中的itemTpl的模板中,需要动态生成图片img,并传递图片url地址进去
其中tpl是xtemplate,其中的localStorage是html5的cookie升级版。scriptImagesStr是保存图片url的参数。xcount与xindex是tpl中的参数。
“ xindex ” :如果你在一个循环的模板里面,这个值表示你当前所在的“第几次”循环(从 1 开始)。
“ xcount ” :如果你在一个循环的模板里面,这个值表示你正在迭代的数组的总长度。
这个网址上有一些讲解xtemplate的知识:.
这边的secriptImagesStr其中可能包含的是多张图片,目前以我的能力还是不了解怎么直接传进src中去,所以网上查询以后,我这边是用了
src="#" οnerrοr="getUrl(\'{scriptImagesStr}\')"
其中src为#号,所以获取url的时候会出错,然后就会执行onerror中的getUrl函数。
function getUrl(){ var urls=arguments[0]; var url=urls.split(',')[0]; var img=event.srcElement; img.src=url; img.onerror=null;}
其中urls是scriptImagesStr的值,其实就是一个以逗号分隔的字符串,可能包含了多个url地址。事件中都会传递event进去,所以可以通过event.srcElement来获取img对象。 然后img.src=url;设置模板中显示的图片是第一张图片。
最后一句img.οnerrοr=null;其实是为了预防这边获取的url也有问题,导致图片一直调用onerror,这是很隐藏体验的问题,所以在最后设置img.οnerrοr=null。