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. Silverlight跨域访问wcf

    添加文件名为“clientaccesspolicy.xml”的文件 内容: <?xml version="1.0" encoding="utf-8"?&g ...

  2. android studio connot resolve

    使用AS的时候,肯定会遇到这个问题. 我使用清除缓存都不能解决,不过无意中发现代码变了. final Button select = (Button) findViewById(android.R.i ...

  3. Robo 可视化mongoDb的操作

    因为公司的项目出现了MongodbCpu 100%的问题,所以最近在开始排查,也开始更加深入的接触Mongodb这个缓存型的数据库. 简单的就不说了,前面几张有安装和简单的使用,因为需要开始添加索引, ...

  4. JAVA传入一个字符串,返回一个字符串中的大写字母

    /**      *       * @param 传入一个字符串      * @return 返回一个字符串中的大写字母      */     private static String str ...

  5. 【Android Studio】DDMS的模拟器控制(Emulator Control)不可用

    问题:Win10,Android Studio2.1.3中,创建了一个安卓手机模拟器,但是在DDMS中模拟器控制(Emulator Control)是灰色不可用的(比如想模拟来电和来短信).如下图: ...

  6. 【机器学习】 Matlab 2015a 自带机器学习算法汇总

    MATLAB机器学习没看到啥教程,只有一系列函数,只好记录下: MATLAB每个机器学习方法都有很多种方式实现,并可进行高级配置(比如训练决策树时设置的各种参数) ,这里由于篇幅的限制,不再详细描述. ...

  7. Win10下打开chm文档提示无法显示该页的解决方法

    一是检查chm文件属性里最下面是否有个“解除锁定”,如有,点击“解除锁定”按钮就可以了. 如果没有上面提到的“解除锁定”,检查chm文件存放的路径.本例中,由于chm文件的存放路径中不能带有特殊字符“ ...

  8. springboot读取resource下的文本文件

    https://blog.csdn.net/programmeryu/article/details/58002218 文本所在位置: 获取ZH.txt: File file = ResourceUt ...

  9. h5 rem

    <script> (function(){ setRem(); window.addEventListener('orientation' in window?"deviceor ...

  10. 目录_JVM专题

    (PS:多为<深入理解Java虚拟机——JVM高级特性与最佳实践>一书的阅读笔记,权记于此以备忘) 纲要: 类加载(加载.连接(验证.准备.解析).初始化) (类的生命周期:除此5个外,还 ...