最近项目调试的时候在firebug中发现EasyUI的组件异步加载时总是加载两次url属性的问题,代码如下:
<span class = "pln" >$</span><span class = "pun" >(</span><span class = "kwd" > function </span><span class = "pun" >(){</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > '#comb' </span><span class = "pun" >).</span><span class = "pln" >combobox</span><span class = "pun" >({</span><span class = "pln" > url</span><span class = "pun" >:</span><span class = "str" > '/area/list' </span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" ><</span><span class = "pln" >input id</span><span class = "pun" >=</span><span class = "str" > "comb" </span><span class = "pln" > </span><span class = "kwd" > class </span><span class = "pun" >=</span><span class = "str" > "e a syui-combobox" </span><span class = "pln" > type</span><span class = "pun" >=</span><span class = "str" > "text" </span><span class = "pln" > name</span><span class = "pun" >=</span><span class = "str" > "comb" </span><span class = "pln" > </span><span class = "pun" >/></span><span class = "pln" > </span> |
从以上的代码可以看到页面初始化的时候加载一次combobox组件的url,
html代码中也利用class声明了一次combobox,这样就导致,easyUI解析html代码的时候先解析class声明中的combobox组件请求了一次url然后又调用了js中初始化的代码初始化一次数据,导致重复加载,避免的方法就是只用一种初始化方法来声明easyUI组件,避免重复的提交请求
修改后的代码如下:
<span class = "pln" >$</span><span class = "pun" >(</span><span class = "kwd" > function </span><span class = "pun" >(){</span><span class = "pln" > $</span><span class = "pun" >(</span><span class = "str" > '#comb' </span><span class = "pun" >).</span><span class = "pln" >combobox</span><span class = "pun" >({</span><span class = "pln" > url</span><span class = "pun" >:</span><span class = "str" > '/area/list' </span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" >});</span><span class = "pln" > </span><span class = "pun" ><</span><span class = "pln" >input id</span><span class = "pun" >=</span><span class = "str" > "comb" </span><span class = "pln" > type</span><span class = "pun" >=</span><span class = "str" > "text" </span><span class = "pln" > name</span><span class = "pun" >=</span><span class = "str" > "comb" </span><span class = "pln" > </span><span class = "pun" >/></span> |