[Learn AF3]第三章 App Framework 3组件之Panel:afui的核心
Panel,afui的核心组件
组件名称:Panel
使用说明:按照官方的说法,panel组件是af3的“核心(heart of the ui)”,panel用于构造应用中独立的内容展示区域,是真正用于装载信息和用户交互的控件的地方,panle控件还需要声明在class="pages"的div元素之中。
方法:同样panel并非一个javascript的类,也没有专属方法。
属性:panel可用的声明式属性,说到这个,不得不说intel app framework的文档真的是烂到没话说,af3退出有一段时间了,里面好多af2x的东西,比如panel的属性selected,在af3中就被抛弃了,而应该改为添加“active”这个class !
class="active" 在class中添加“active” 类名,指出panle所在view中默认激活的panel,(在2.x中是设置属性‘selected="true"’).
data-include="filename.html" - 导致装载该文件的内容到panel中,党需要分离内容到不同文件中时很有用(当应用较大的时候)。af.ui.ready的事件只有在所有的文件都被装载后才会触发。
data-tab="anchor_id" - 设置panel激活时在footer上选中的A元素的id,当你通过脚本激活panel时特别有用。
事件:panel的event
panelbeforeload - this event is fired before the panel is transitioned/loaded
panelload - This event is fired when a panel has been loaded.
panelbeforeunload - this event is fired before the panel is transitioned/unloaded
panelunload - This event is fired when a panel has been unloaded.
使用:<div class="panel"></div>
示意代码:
<div class="pages">
<div class="panel active" id="pageHome" data-nav="leftMenu" data-aside="rightMenu" data-title="Title for pane1">
<ul class="list">
<li><h3>great cases</h3></li>
<li><div>case 1</div></li>
<li class="divider"></li>
<li><h3>new templetes</h3></li>
<li><div>template 2</div></li>
<li class="divider"></li>
<li><h3></h3></li>
<li><ul class="list inset" style="display:inline-block;border:solid 1px blue;corner-radius:2px;"><li><div> baced</div></li><li><div> 222</div></li></ul></li>
</ul> </div> <div class="panel" id="page2" data-nav="leftMenu" data-title="title for panel2" style="overflow:hidden"> </div>
</div>
af3页面切换的bug: 通过按钮切换到不同view中的panel,第一遍的时候可以,但是再次切换往往失灵,调试发现由于panel变换为当前页面后,af3添加了active类,最后的页面就会覆盖前面的页面成为默认页面,所以再次切换页面时,每个view中都只有一个固定的panel会显示,而不是指定的panel。我的解决方法是,在view的panelbeforeunload事件中自己手动移除panel的active类。
$('.view').on('panelbeforeunload',function(){
console.log('view before unload')
$(this).find('.panel').removeClass('active')
})
第二章 App Framework 3.0的组件View, af3的驱动力 [Learn AF3系列] 第四章 App framework组件之Button
[Learn AF3]第三章 App Framework 3组件之Panel:afui的核心的更多相关文章
- [Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu
Drawer——Side menu 组件名称:Drawer 说明:af3中的side menu和af2中有很大变化,af3中的side menu实际上是通过插件$.afui.drawer来实现 ...
- [Learn AF3]第四章 App framework组件之Button
Button 组件名称:Button 是否js控件:否 使用说明:如果说panel组件是af3的“核心(heart of the ui)”,那么Button就是af中的五虎上将之 ...
- [Learn AF3]第六章 App Framework 3.0中的内置矢量图标
AF3的内置矢量图标 介绍:要使用af3中的图标,必须首先引入icon.css,由于文件中已经内置了字体文件数据,因此不需要引入字体文件支持. <link rel="styleshee ...
- [Learn AF3]第七章 App framework组件之Popup
AF3的弹出对话框Popup 组件名称:Popup 是否js控件:是,$.afui.popup 说明:af3中的popup和af2中相比变化不大,依然是通过插件popup来实现的 方法 ...
- [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎
View:af3中的驱动引擎 组件名称:View 使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...
- 我的Android第三章:Android的组件介绍
小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...
- [Learn AF3]第一章 如何使用App Framework 3.0 构造应用程序
af3的变化非常大.参见[译]Intel App Framework 3.0的变化 一.应用需要引用的js脚本: af3中不在自己实现dom选择器,而是选择基于jquey或兼容jquery的库如zep ...
- The Road to learn React书籍学习笔记(第三章)
The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...
- 《Entity Framework 6 Recipes》中文翻译系列 (11) -----第三章 查询之异步查询
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第三章 查询 前一章,我们展示了常见数据库场景的建模方式,本章将向你展示如何查询实体 ...
随机推荐
- iOS开发:代码通用性以及其规范 第一篇(附带,自定义UITextView\进度条\双表显示\瀑布流 代码设计思路)
在iOS团队开发中,我见过一些人的代码,也修改过他们的代码.有的人的代码写的非常之规范.通用,几乎不用交流,就可以知道如何修改以及在它基础上扩展延生.有的人的代码写的很垃圾,一眼看过去,简直会怀疑自己 ...
- 解析Delphi 窗口置顶,及非主窗口置顶
方法一: procedure TForm1.Button2Click(Sender: TObject);begin Form2.Show; Application.NormalizeTopMosts; ...
- ios 让textView被键盘挡住上移
注册键盘通知 #pragma mark - 键盘通知 - (void)addNoticeForKeyboard { //注册键盘出现的通知 [[NSNotificationCenter default ...
- 16款纯CSS3实现的loading加载动画
分享16款纯CSS3实现的loading加载动画.这是一款实用的可替代GIF格式图片的CSS3加载动画代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div clas ...
- 神奇的bug,退出时自动更新时间
遇到一个神奇的bug,用户退出时,上次登录时间会变成退出时的时间. 于是开始跟踪,发现Laravel在退出时,会做一次脏检查,这时会更新rember_token,这时就会有update操作如下. 而粗 ...
- InstallShield Build错误:Internal build error 6041
点击左侧菜单: Media-Release-选择release版本(例如Release1)-Build标签- keey unused directories 改为no(默认为yes)
- Android View.MeasureSpec
有时,Android系统控件无法满足我们的需求,因此有必要自定义View. 一般来说,自定义控件都会去重写View的onMeasure方法,因为该方法指定该控件在屏幕上的大小,[protected v ...
- mysql国内镜像下载网址
http://mirrors.sohu.com/mysql/ http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/ 开源镜像站点汇总 http://segme ...
- 找回IntelliJ IDEA中 丢失的Run Dashboard 视图
一般有时候创建springboot项目的时候右下角可以提示你打开Run Dashboard,但是如果不提醒就需要自己配置了. 找到项目中.idea文件下的workspace.xml开打 接下来找到 & ...
- APICloud 真机连接失败
今天在公司将APICloud 的项目进行趁机测试的时候,发现连接失败,报如下错: 排查步骤: 1.看手机wifi与电脑是否在同一网段: 就是看ip前面的三段是不是一样.比如ip地址是 192.168. ...