apicloud存储机制,添加和获取存储的数据

  1. $api.setStorage('currentCity', cityList[i_]);
  2. $api.getStorage('currentCity');

监听事件,name为监听的事件名称

  1. api.addEventListener({
  2. name: 'cityChange'
  3. }, function(ret, err){
  4. if( ret ){
  5. // alert( JSON.stringify( ret ) );
  6. var city=$api.byId('city');
  7. city.innerHTML=ret.value.currentCity.name;
  8. openFrames();
  9. }else{
  10. alert( JSON.stringify( err ) );
  11. }
  12. });

doT模板(js下载)

  1. {{~it:value:index}} …… {{~}} //里面的为模板内容
  2. {{=value.thumbnail.url}} //在模板中动态添加数据
  3. {{?0==value.showType}}……{{??}}……{{?}}//判断写法
  1. <script type="text/template" id="template">
  2. {{~it:value:index}}
  3. {{?0==value.showType}}
  4. <div class="ware ware-0" >
  5. <div class="content" onclick="fnOpenWareWin('{{=value.id}}')">
  6. <img onload="fnLoadImage(this)" data-url="{{=value.thumbnail.url}}" class="thumbnail" src="../image/default_rect.png">
  7. <div class="info">
  8. <div class="name">{{=value.name}}</div>
  9. <div class="description">{{=value.description}}</div>
  10. <div class="price-tag">
  11. <span class="price">¥{{=value.price}}</span>
  12. <span class="unit">/{{=value.unit}}</span>
  13. </div>
  14. <div class="origin-price">超市:
  15. <del>{{=value.originPrice}}元</del>
  16. </div>
  17. </div>
  18. <div class="control">
  19. <div class="panel">
  20. <img class="minus" src="../image/minus.png">
  21. <div class="count">0</div>
  22. </div>
  23. <img class="add" src="../image/add.png ">
  24. </div>
  25. </div>
  26. </div>
  27. {{??}}
  28. <div class="ware ware-1">
  29. <div class="content" onclick="fnOpenWareWin('{{=value.id}}')">
  30. <img onload="fnLoadImage(this)" data-url="{{=value.thumbnail.url}}" class="thumbnail" src="../image/default_square.png">
  31. <div class="info">
  32. <div class="name">{{=value.name}}</div>
  33. <div class="description">{{=value.description}}</div>
  34. <div class="price-tag">
  35. <span class="price">¥{{=value.price}}</span>
  36. <span class="unit">/{{=value.unit}}</span>
  37. </div>
  38. <div class="origin-price">超市:
  39. <del>{{=value.originPrice}}元</del>
  40. </div>
  41. </div>
  42. <div class="control">
  43. <div class="panel">
  44. <img class="minus" src="../image/minus.png">
  45. <div class="count">0</div>
  46. </div>
  47. <img class="add" src="../image/add.png ">
  48. </div>
  49. </div>
  50. </div>
  51. {{?}}
  52. {{~}}
  53. </script>

模板使用方法

  1. function fnUpdateWareList(data_,loadMore_){//使用js模板
  2. var list=$api.byId('list');
  3. var tempFn=doT.template($api.byId('template').innerHTML);
  4. var resultText=tempFn(data_);
  5. if(loadMore_){
  6. $api.append(list, resultText);
  7. }else{
  8. $api.html(list, resultText);
  9. }
  10. api.parseTapmode();//优化点击事件,主要是因为通过js加载进去的tepmode没有起到作用,所以要使用此方法进行优化
  11. if(loadMore_){
  12. if(data_.length<LIMIT){
  13. var pushStatus=$api.byId('pushStatus');
  14. pushStatus.innerHTML="没有啦";
  15. }
  16. }
  17. }

图片缓存机制

  1. api.imageCache({//图片缓存
  2. url: dataUrl
  3. }, function(ret, err){
  4. if( ret ){
  5. // alert( JSON.stringify( ret ) );
  6. ele_.src=ret.url;
  7. $api.attr(ele_, 'data-url',"");
  8. }else{
  9. alert( JSON.stringify( err ) );
  10. }
  11. });

页面刷新功能实现

  1. api.setRefreshHeaderInfo({//刷新
  2. visible: true,
  3. loadingImg: 'widget://image/refresh.png',
  4. bgColor: '#ccc',
  5. textColor: '#fff',
  6. textDown: '下拉刷新...',
  7. textUp: '松开刷新...',
  8. showTime: true
  9. }, function(ret, err){
  10. fnGetWare();
  11. });

结束刷新

  1. api.refreshHeaderLoadDone();//结束刷新

加载弹出对话框

  1. api.showProgress({//加载弹出框
  2. style: 'default',
  3. animationType: 'fade',
  4. title: '努力加载中...',
  5. text: '先喝杯茶...',
  6. modal: false
  7. });

结束加载

  1. api.hideProgress();//结束加载

将json文件转为字符串

  1. $api.jsonToStr(params);

将字符串转换为json文件

  1. $api.strToJson(params);

设置属性

  1. $api.attr(ele_, 'data-url''value');

参数设置

  1. var params={
  2. fields:{},
  3. where: { //设置条件
  4. supportAreaId: currentCity.id,
  5. wareTypeId:wareTypeList[api.pageParam.wareTypeIndex].id
  6. },
  7. skip:skip,//设置起步数
  8. limit:LIMIT//设置步数
  9. }

Apicloud学习第四天的更多相关文章

  1. 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式

    本系列文章导航 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 一.摘要 本篇文章讲解如何使用jQuery获取和操作元素的属性和CSS样式. 其中DOM属性和元素属性的区分值得 ...

  2. 前端学习 第四弹: HTML(一)

    前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...

  3. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  4. Android Animation学习(四) ApiDemos解析:多属性动画

    Android Animation学习(四) ApiDemos解析:多属性动画 如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator , ( Animator可 ...

  5. 五、Android学习第四天补充——Android的常用控件(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...

  6. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...

  7. MVC学习(四)几种分页的实现(3)

    在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...

  8. MyBatis学习 之 四、MyBatis配置文件

    目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...

  9. 【转】MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突

    [转]MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体 ...

随机推荐

  1. MyDAL - like && not like 条件 使用

    索引: 目录索引 一.API 列表 C# 代码中 String.Contains("conditionStr") 生成 SQL 对应的 like '%conditionStr%' ...

  2. JAVA EE获取浏览器和操作系统信息

    一.原理说明:  1. 浏览器访问服务端时,Http请求头上会带上客户端一些信息,可通过"user-agent"获取. //java获取方法如下,其他语言也有自己获取方法 Stri ...

  3. goodbye 2018, hello 2019

    纵使不愿意,终究还是到了岁末. 2018 ​ 即将过去的一年,已经完成的事情自己做得不足.年初计划要做的几件事情都做了,感觉没有尽力去做好. 工作 ​ 16年毕业之后到今年,算是真正意义上完成从学生时 ...

  4. CENTOS重新安装JDK

    centos 删除默认安装的JDK 重新安装JDK 1.删除JDK 通过xshell工具成功连接安装好的虚拟机之后可通过    rpm -qa | grep java  或 rpm -qa | gre ...

  5. Flink监控:Monitoring Apache Flink Applications

    This post originally appeared on the Apache Flink blog. It was reproduced here under the Apache Lice ...

  6. Java中数组和集合的foreach操作编译后究竟是啥

    今天和同事在关于foreach编译后是for循环还是迭代器有了不同意见,特做了个Demo,了解一下. 是啥自己来看吧! public class Demo { public static void m ...

  7. HashMap、Hashtable、ConcurrentHashMap的原理与区别

    同步首发:http://www.yuanrengu.com/index.php/2017-01-17.html 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区 ...

  8. jsp假分页

    假分页:从数据库中取出所有的数据,然后分页在界面上显示.访问一次数据库,但由于选择的数据量比较大,所以第一次花费时间比较长,但之后每一页的显示都是直接.快速的,避免对数据库的多次访问. 真分页:确定要 ...

  9. springdata jpa查询用like时候需要输入该属性的类型字节码

  10. Want To Say Something

    2019.3.3 明天要演讲了,在这里为自己打一下气! 加油!     2019.3.31 停课三周的第一次写日志 怎么说这三周结交了很多八班的朋友 在竞赛上一直在学数论快学吐了,但没办法呀还是要为出 ...