热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML5移动web开发指南中senchatouch笔记

《HTML5移动web开发指南》,是UC公司著名前端开发师唐俊开(网名:三桥)的新书,介绍了jquerymo
《HTML 5移动web开发指南》,是UC公司著名前端开发师唐俊开(网名:三桥)

的新书,介绍了jquery mobile,sencha touch,phonegap的开发,内容很丰富,

最后还有一个小的实例,推荐阅读,给分85分,下面是其中sencha touch的

一些本人新学到的知识点小结

1 sencha touch中如果为某控件同时指定了cls样式和componentCls样式的话,

则componentCls样式会覆盖cls样式,如果还加了baseCls样式,则原来的样式会被命名

为比如panel_baseCls和pannel_baseCls登新的样式名称





2 UI 按钮





按钮根据 ui 配置选项进行样式化。支持的按钮类型是 normal、back、round、action 和 forward。





3 为sencha touch设置自定义图标,见

http://wenku.baidu.com/view/47bc9087e53a580216fcfead.html



实际上ui,iconmark,iconcls三个组件属性来实现,其实是base64编码而已,体积大了



4 按钮分组SegmentedButton.toggle,多个按钮中只有一个能按,比如

xtype: 'toolbar',

docked: 'top',

items: [{

xtype: 'segmentedbutton',

items: [{

text: 'left',

pressed: true

}, {

text: 'center'

}, {

text: 'right'

}, {

text: 'justify'

}], // items

listeners: {

toggle: function (segBtn, btn, isPressed) {

Ext.Msg.alert('Ext.SegmentedButton toggle:',

btn.config.text + ' (pressed:' + isPressed + ')');

} // toggle





5 Carousels,翻译过来“传送带”的意思,顾名思义,仿佛屏幕背后就有一传送带,用户发出向左或向右的指令,即可命令传送带“移动”。移动设备上的屏



幕就是当前显示的内容。在中间的那个“一点点”图案即为指示器,指示器可以告诉你剩余有多种张待现实的页面。



Ext.create('Ext.Carousel', {

fullscreen: true,



defaults: {

styleHtmlContent: true

},



items: [

{

html : 'Item 1',

style: 'background-color: #5E99CC'

},

{

html : 'Item 2',

style: 'background-color: #759E60'

},

{

html : 'Item 3'

}

]

});



6 ext.util.geolocation用法:



getCurrentPosition:function(){

var geo = new Ext.util.GeoLocation({

autoUpdate: true,

listeners: {

locationupdate: function (geo) {

Ext.getCmp('latitude')

.setValue(geo.coords.latitude);

Ext.getCmp('longitude')

.setValue(geo.coords.longitude);

},

locationerror:function(geo,

bTimeout,

bPermissionDenied,

bLocationUnavailable,

message){

}

}

});

geo.updateLocation();

}





7 自定义命名空间后,则可以直接使用调用实例变量了

比如MyApp.panelDemo=new Ext.Pannel({ });



8 sencha touch mvc中的model:



MyApp.models.User=Ext.regModel( ..........)





然后定义store,比如:





app.stores.noteStore = new Ext.data.Store({

model:'note',

id:'noteStore'

});





app.models.note = Ext.regModel("note",{

fields:[

{name:'id',type:'int'},

{name:'title',type:'string'},

{name:'content',type:'string'},

{name:'position',type:'string'},

{name:'latitude',type:'string'},

{name:'longitude',type:'string'}

],

/* 使用localStorage代理 */

proxy : {

type:'localstorage',

id:'noteStorage'

}

});





一对多关系

Ext.regModel('User',[fields:['id'],hasMany:['Post']});

belongsTo:........



9 setactiveitem方法,能在不同的子组件中隐藏和切换,比如

Ext.getCmp('pannel1').hide();

Ext.getCmp('pannel2').show();

等价于

Ext.getCmp('pannel1').setActviteItem('pannel2');



10 MVC中的控制类注册

MyApp.controllers.demoAction=Ext.regController('demoAction',{ showpannel:function()

{



});

}

});

调用时MyApp.controllers.demoAction.showpannel();





11 一个保存数据到sencha touch localstorage例子

saveNote:function(){

var form = Ext.getCmp("noteForm");

var store = app.stores.noteStore;



var last = store.last();

var maxId = last==undefined?1:last.data.id+1;

form.submit({

waitMsg:'处理中...',

success:function(){

app.controllers.appController.showListPanel();

}

});

var m = Ext.ModelMgr.create({id:maxId},'note');

form.updateRecord(m,false);

app.stores.noteStore.insert(maxId,m);

app.stores.noteStore.sync();

form.reset();

app.controllers.appController.showListPanel();

},



删除记录:

removeAllNote:function(){

Ext.Msg.confirm("确认", "你确认要清除本地所有数据?", function(){

var count = app.stores.noteStore.getCount();

for(var i=0;i
app.stores.noteStore.removeAt(0);

}

app.stores.noteStore.sync();

app.views.moreActionSheet.hide();

});

},


推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 本文介绍了一个从入门到高手的VB.NET源代码,通过学习这些源代码,可以在21天内成为VB.NET高手。文章提供了下载地址,并提醒读者加入作者的QQ群和收藏作者的博客。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了解决IE678伪类不兼容问题的方法,包括少用CSS3和HTML5独有的属性,使用CSS hacker,使用last-child清除浮动、批量添加标签、去掉list item最后一个的border-right等技巧。同时还介绍了使用after清除浮动时加上IE独有属性zoom:1的处理方法。另外,本文还提到可以使用jQuery代替批量添加标签的功能,以及使用负边距和CSS2选择器element+element去掉list item最后一个的border-right的方法。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
author-avatar
mobiledu2502917953
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有