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学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体 ...
随机推荐
- 深圳市共创力咨询CEO杨学明的最新演讲:互联网模式下的企业创新管理
2018年11月14日, 深圳市共创力咨询董事长.深圳市汇成研发管理咨询公司董事长杨学明先生受邀参加由深圳图书馆主办,深圳手讯视频承办的“倾听行业之声”2018第二届世界CED智慧大会,此次分享的主题 ...
- 使用 prismjs 在网页中高亮显示代码
最近在总结这一年来制作的网页模块,网站风格统一的情况下,网站页面结构不会改变,因此想记录一部分网站中统一的结构,方便日后维护. 用到的相关技术: vue, element-ui, prismjs, v ...
- UE4游戏开发基础命令
在个人的Unrealengine账户中关联自己的GitHub账户成功之后,就可以访问UE4引擎的源码了. git clone -b release https://github.com/EpicGam ...
- 如何知道一个EXE使用什么开发语言开发的
一般是看EXE调用哪些DLL,这可以使用VC++中的工具Dependency Walker,它可以列出静态链接的所有DLL. 如果EXE中的DLL包括MSVBVM60.DLL,则是使用VB 6.0开发 ...
- c/c++ 继承与多态 文本查询的小例子(智能指针版本)
为了更好的理解继承和多态,做一个文本查询的小例子. 接口类:Query有2个方法. eval:查询,返回查询结果类QueryResult rep:得到要查询的文本 客户端程序的使用方法: //查询包含 ...
- MacBook Pro 安装win7 64 成功安装过程总结
安装对象: MacBook Pro (13 英寸, 2010 年中) 中安装win7 64位操作系统(原版安装非Ghost),且只保留win7系统即可. 场景还原: 拿到笔记本时,笔记本中已无Mac ...
- EM算法(Expectation Maximization)
1 极大似然估计 假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f(x|μ,σ2),求学生的成绩最符合哪种高斯分布,即μ和σ2最优值是什么? 图1 学生成绩的分 ...
- Python函数的装饰器修复技术(@wraps)
@wraps 函数的装饰器修复技术,可使被装饰的函数在增加了新功能的前提下,不改变原函数名称,还继续使用原函数的注释内容: 方便了上下文环境中不去更改原来使用的函数地方的函数名: 使用方法 from ...
- keras02 - hello convolution neural network 搭建第一个卷积神经网络
本项目参考: https://www.bilibili.com/video/av31500120?t=4657 训练代码 # coding: utf-8 # Learning from Mofan a ...
- Django的ORM那些相关操作
一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 & ...