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的核心的更多相关文章

  1. [Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu

    Drawer——Side menu 组件名称:Drawer     说明:af3中的side menu和af2中有很大变化,af3中的side menu实际上是通过插件$.afui.drawer来实现 ...

  2. [Learn AF3]第四章 App framework组件之Button

    Button    组件名称:Button     是否js控件:否     使用说明:如果说panel组件是af3的“核心(heart of the ui)”,那么Button就是af中的五虎上将之 ...

  3. [Learn AF3]第六章 App Framework 3.0中的内置矢量图标

    AF3的内置矢量图标 介绍:要使用af3中的图标,必须首先引入icon.css,由于文件中已经内置了字体文件数据,因此不需要引入字体文件支持. <link rel="styleshee ...

  4. [Learn AF3]第七章 App framework组件之Popup

    AF3的弹出对话框Popup 组件名称:Popup 是否js控件:是,$.afui.popup     说明:af3中的popup和af2中相比变化不大,依然是通过插件popup来实现的     方法 ...

  5. [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎

    View:af3中的驱动引擎   组件名称:View     使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...

  6. 我的Android第三章:Android的组件介绍

    小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...

  7. [Learn AF3]第一章 如何使用App Framework 3.0 构造应用程序

    af3的变化非常大.参见[译]Intel App Framework 3.0的变化 一.应用需要引用的js脚本: af3中不在自己实现dom选择器,而是选择基于jquey或兼容jquery的库如zep ...

  8. The Road to learn React书籍学习笔记(第三章)

    The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...

  9. 《Entity Framework 6 Recipes》中文翻译系列 (11) -----第三章 查询之异步查询

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第三章 查询 前一章,我们展示了常见数据库场景的建模方式,本章将向你展示如何查询实体 ...

随机推荐

  1. 基于jQuery果冻式按钮焦点图切换代码

    基于jQuery果冻式按钮焦点图切换代码.这是一款基于jQuery+CSS3实现的图片切换代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&quo ...

  2. NLP自然语言处理 jieba中文分词,关键词提取,词性标注,并行分词,起止位置,文本挖掘,NLP WordEmbedding的概念和实现

    1. NLP 走近自然语言处理 概念 Natural Language Processing/Understanding,自然语言处理/理解 日常对话.办公写作.上网浏览 希望机器能像人一样去理解,以 ...

  3. PHP输入流php://input与$_POST、$_GET

    Content-Type的取值会影响php的输入流 学习笔记 1,Content-Type仅在取值为application/x-www-data-urlencoded和multipart/form-d ...

  4. u-boot2016.05 有关 4096page size , oob == 224 nand 的移植支持

    大致介绍一下这个 nand 的基础属性 pagesize == 4096 byte oob == 224 byte block size == 256 Kbyte u-boot configs/xxx ...

  5. sed——linux下对文本当控制操作(替换,追加)

    sed——linux下对文本当控制操作(替换,追加) 2011-12-12 19:27:17 分类: LINUX Linux下sed命令 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容 ...

  6. PostgreSQL ALTER TABLE中改变数据类型时USING的用法<转>

    在修改表字段类型的时候使用Using来进行显示的转换类型. 原文说明: SET DATA TYPE  This form changes the type of a column of a table ...

  7. FormWindowState.Maximized的陷阱

    MDI父窗体下面有很多子窗体.子窗体打开时都是以FormWindowState.Maximized的属性打开的,但是结果部分如意,部分奇怪. 先贴上单实例的代码: static TestForm _s ...

  8. hdfs平衡分布

    这篇文章是从网上看到的,觉得很好就收藏了,但是最终不知道出处了. Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点.当HDFS出现不平衡状况的时候 ...

  9. 很简洁的分页控件 适合MVC

    <!DOCTYPE html> <html lang="zh-cn" xmlns="http://www.w3.org/1999/xhtml" ...

  10. Repeater 嵌套,子级Repeater获取 父级Repeater 中的值

    第一种方法,子级Repeater中绑定父级的某个字段: <%# DataBinder.Eval((Container.NamingContainer.NamingContainer as Rep ...