热门标签 | 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();

});

},


推荐阅读
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • 优雅实现 jQuery 折叠展开下拉菜单
    本文介绍了一种使用 jQuery 实现的优雅折叠和展开效果的下拉菜单,通过简单的 HTML 结构和 CSS 样式,结合 jQuery 脚本,可以轻松创建出美观且功能强大的下拉菜单。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • js常用方法(1)startWithJava代码varstartsWithfunction(str,regex){if(regexundefined||strundefined|| ... [详细]
  • 本文提供了多种方法来计算给定年份和月份的起始日和结束日,并进一步探讨了如何根据年、月、周获取特定周的起始日和结束日。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文介绍了如何使用JavaScript和jQuery实现页面元素随着滚动条的移动而相应变化位置的功能,提供了一段简洁的代码示例。 ... [详细]
  • Web前端性能提升指南:简化JavaScript与消除重复脚本
    本文为Web前端性能优化系列的第七篇,重点探讨简化JavaScript代码及清除重复脚本的方法。通过这些技术,可以显著提高网页加载速度和用户体验。了解更多信息,请参阅我们的完整指南:Web前端性能优化。 ... [详细]
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社区 版权所有