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

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

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

api.addEventListener({
name: 'cityChange'
}, function(ret, err){
if( ret ){
// alert( JSON.stringify( ret ) );
var city=$api.byId('city');
city.innerHTML=ret.value.currentCity.name;
openFrames();
}else{
alert( JSON.stringify( err ) );
}
});

doT模板(js下载)

{{~it:value:index}} …… {{~}} //里面的为模板内容
{{=value.thumbnail.url}} //在模板中动态添加数据
{{?0==value.showType}}……{{??}}……{{?}}//判断写法
<script type="text/template" id="template">
{{~it:value:index}}
{{?0==value.showType}}
<div class="ware ware-0" >
<div class="content" onclick="fnOpenWareWin('{{=value.id}}')">
<img onload="fnLoadImage(this)" data-url="{{=value.thumbnail.url}}" class="thumbnail" src="../image/default_rect.png">
<div class="info">
<div class="name">{{=value.name}}</div>
<div class="description">{{=value.description}}</div>
<div class="price-tag">
<span class="price">¥{{=value.price}}</span>
<span class="unit">/{{=value.unit}}</span>
</div>
<div class="origin-price">超市:
<del>{{=value.originPrice}}元</del>
</div>
</div>
<div class="control">
<div class="panel">
<img class="minus" src="../image/minus.png">
<div class="count">0</div>
</div>
<img class="add" src="../image/add.png ">
</div>
</div>
</div>
{{??}}
<div class="ware ware-1">
<div class="content" onclick="fnOpenWareWin('{{=value.id}}')">
<img onload="fnLoadImage(this)" data-url="{{=value.thumbnail.url}}" class="thumbnail" src="../image/default_square.png">
<div class="info">
<div class="name">{{=value.name}}</div>
<div class="description">{{=value.description}}</div>
<div class="price-tag">
<span class="price">¥{{=value.price}}</span>
<span class="unit">/{{=value.unit}}</span>
</div>
<div class="origin-price">超市:
<del>{{=value.originPrice}}元</del>
</div>
</div>
<div class="control">
<div class="panel">
<img class="minus" src="../image/minus.png">
<div class="count">0</div>
</div>
<img class="add" src="../image/add.png ">
</div>
</div>
</div>
{{?}}
{{~}}
</script>

模板使用方法

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

图片缓存机制

api.imageCache({//图片缓存
url: dataUrl
}, function(ret, err){
if( ret ){
// alert( JSON.stringify( ret ) );
ele_.src=ret.url;
$api.attr(ele_, 'data-url',"");
}else{
alert( JSON.stringify( err ) );
}
});

页面刷新功能实现

api.setRefreshHeaderInfo({//刷新
visible: true,
loadingImg: 'widget://image/refresh.png',
bgColor: '#ccc',
textColor: '#fff',
textDown: '下拉刷新...',
textUp: '松开刷新...',
showTime: true
}, function(ret, err){
fnGetWare();
});

结束刷新

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

加载弹出对话框

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

结束加载

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

将json文件转为字符串

$api.jsonToStr(params);

将字符串转换为json文件

$api.strToJson(params);

设置属性

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

参数设置

var params={
fields:{},
where: { //设置条件
supportAreaId: currentCity.id,
wareTypeId:wareTypeList[api.pageParam.wareTypeIndex].id
},
skip:skip,//设置起步数
limit:LIMIT//设置步数
}

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. Node编码规范

    编码规范 1. 缩进 采用2个空格缩进,而不是tab缩进.空格在编辑器中与字符是等宽的,而tab可能因编辑器的设置不同.2个空格会让代码看起来紧凑.明快. 2. 变量声明 永远用var声明变量,不加v ...

  2. First Show

    随便写写,记录美好生活 博客的内容主要是关于java后台开发所涉及到技术栈的学习记录

  3. Visual Studio插件开发基础

    Visual Studio插件主要有两种:Add-in 和 VSX(Visual Studio eXtensibility) 两者区别可参考这篇文章:Visual Studio Extensions ...

  4. 记一次zabbix排错(数据库安装在其它服务器上)

    记一次zabbix排错 故障现象 1.在/var/log/zabbix/zabbix_server.log中出现以下报错: 12106:20190314:090947.010 [Z3001] conn ...

  5. ARMV8体系结构简介

    armv8 1.前言 本文的主要内容来源于ARMV8白皮书v5,对ARMV8做一个概述.包含如下的内容: 首先从背景谈起,讲述ARM的发展历程: 之后介绍ARMV8体系结构的基本特征: 介绍A64指令 ...

  6. SpringMVC的相关知识

    前几天学习了SpringMVC 感觉比Servlet好用得多具体如下: 首先SpringMVC的概念: SpringMVC是一个前端控制框架,主要用来负责与页面的交互.SpringMVC是Spring ...

  7. name 'reload' is not defined解决方法

    今天在学习scrapy的时候,在网上找了一段代码,运行出了一点问题. 命令行报错: name 'reload' is not defined 原因是,python版本的问题 原代码如下: import ...

  8. 数据加密算法--详解DES加密算法原理与实现

    DES算法简介 DES(Data Encryption Standard)是目前最为流行的加密算法之一.DES是对称的,也就是说它使用同一个密钥来加密和解密数据. DES还是一种分组加密算法,该算法每 ...

  9. Java 环境下载设置

    本篇文章出处: http://www.cnblogs.com/xiaofeixiang/p/4085159.html 和 https://www.cnblogs.com/renqiqiang/p/68 ...

  10. python☞自动发送邮件

    一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...