Apicloud学习第四天
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学习第四天的更多相关文章
- 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式
本系列文章导航 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 一.摘要 本篇文章讲解如何使用jQuery获取和操作元素的属性和CSS样式. 其中DOM属性和元素属性的区分值得 ...
- 前端学习 第四弹: HTML(一)
前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- Android Animation学习(四) ApiDemos解析:多属性动画
Android Animation学习(四) ApiDemos解析:多属性动画 如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator , ( Animator可 ...
- 五、Android学习第四天补充——Android的常用控件(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...
- MVC学习(四)几种分页的实现(3)
在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...
- MyBatis学习 之 四、MyBatis配置文件
目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...
- 【转】MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
[转]MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体 ...
随机推荐
- linux 子系统折腾记 (三)
所以说,英文真是个好东西,很多资料都只有英文版本,要是不懂英文,甚至你不知道这个资料的存在,更别提用蹩脚的翻译软件去翻译了. wsl 的资料:https://docs.microsoft.com/zh ...
- MyDAL - .UpdateAsync() 使用
索引: 目录索引 一.API 列表 1.UpdateAsync() 用于 单表 更新操作 二.API 单表-便捷 方法 举例-01 var pk1 = Guid.Parse("8f2cbb6 ...
- H5播放器内置播放视频(兼容绝大多数安卓和ios)
关于H5播放器内置播放视频,这个问题一直困扰我很长一段时间,qq以前提供白名单已经关闭,后来提供了同层属性的控制,或多或少也有点差强人意. 后来一次偶然发现一个非常简单的方法可以实现. 只需要给vid ...
- Cookies, Claims and Authentication in ASP.NET Core(转载)
Most of the literature concerning the theme of authentication in ASP.NET Core focuses on the use of ...
- 解决 golang unrecognized import path "golang.org/x" 之类错误的一种尝试
如果使用的开发IDE是goland,那么 打开 FILE -> setting -> Go Modules 选项 ,在proxy 选项上填写 "https://goproxy.i ...
- Linux下Nginx配置阿里云 SSL证书实现HTTPS访问
这篇文章主要介绍了nginx配置ssl证书实现https访问的示例 1.服务器系统:Centos 2. 阿里云申请SSL证书 选择“免费版DV SSL”,点击立即购买: 下载证书 列表中找到已签发的证 ...
- mysql查看死锁和解除锁
解除正在死锁的状态有两种方法: 第一种: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程(如果您有SUPER权限,您可以看到所有线程.否则, ...
- ABP拦截器之AuthorizationInterceptor
在整体介绍这个部分之前,如果对ABP中的权限控制还没有一个很明确的认知,请先阅读这篇文章,然后在读下面的内容. AuthorizationInterceptor看这个名字我们就知道这个拦截器拦截用户一 ...
- https 自签名SSL证书
介绍 TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议. 使用这种技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截 ...
- JS获取浏览器地址栏的多个参数值的任意值
getParamValue("id"); //http://localhost:2426/TransactionNotes.aspx?id=100 //返回值是100: // 根据 ...