`

不能懒惰

 
阅读更多
elearning的账号密码reset申请成功了,终于可以完成Foundation of software security的training了。training长达两个小时,真的很容易犯困,做到晚上还有复习题没做,明儿继续。

总结下今天看的技术知识点:
1.component lifecycle
initialization,render,destruction
每个component实例化都和带着有一个独特的Ext.generated ID的ComponentMgr类被注册,它可以通过在对象配置中传递一个id参数的方式被重写。
Render:
beforerender fired - container ser - onRender()- Component is unhidden - custom Css adn/or styles applied - after render fired - Component hidden or disabled - State-specific event fired

2.Containers
  这是一个幕后类,它提供管理组件和他们的孩子的基础。它的方法被大多子类所使用,包括:Panel,Viewport,Window.
var panel1 = {
html : 'I am Panel1', id : 'panel1',
frame : true, height : 100
First and second
B child panels
};
var panel2 = {
html : '<b>I am Panel2</b>', id : 'panel2',
frame : true
};
var myWin = new Ext.Window({
id : 'myWin', height : 400, width : 400, items : [
panel1, panel2
Last child, a
C form panel
]
});

每一个Container通过一个items属性存储它孩子的索引,他们可以通过someContainer.items方法被获得并且是Ext.util.MixedCollection的实例。

1)tame children
Adding Components:add and insert方法
Ext.getCmp('myWin').add({ title : 'Appended Panel', id : 'addedPanel',
html : 'Hello there!'
});

显示不出来,需要加上下面一行代码:
Ext.getCmp('myWin').doLayout();

doLayout方法迫使Container和它的孩子们的重新计算,并且将会渲染任何一个每被渲染的孩子。

insert方法实例:->有助于指定插入位置
Ext.getCmp('myWin').insert(1, {
title : 'Inserted Panel', id : 'insertedPanel', html : 'It is cool here!'
});


removing items 需要两个参数:我们想要删除的或从其中删除的组件的id;指定是否调用毁灭方法。
示例:
var panel = Ext.getCmp('addedPanel'); Ext.getCmp('myWin')remove(panel);

默认是true,即立即销毁panel
var panel = Ext.getCmp('insertedPanel'); Ext.getCmp('myWin')remove(panel, false); Ext.getCmp('otherParent').add(panel); Ext.getCmp('otherParent').doLayout();


2)查询Container层架构
findeByType方法:
用于在container层级中找到带有特定xtype的items并且返回找到的一系列items
示例:
var fields = Ext.getCmp('myForm').findByType('field');


他是怎么工作的?
findBy方法接受两个参数:custom方法
用户检测你的搜索标准和调用你的custom方法的范围。
示例:假设你想要找到所有隐藏了的子item

var findHidden = function(comp) {
if (! comp.isVisible()) {
return true;
}
}
var panels = Ext.getCmp('myContainer').findBy(findHidden);


3)Viewport Container
  viewport类是所有独立依赖于通过浏览器viewport或display100%显示Ext的所有网页应用的基础。
这个类非常轻量级和有效。所以常被使用
示例:
new Ext.Viewport({ layout : 'border', items : [
{
{
]
});
height : 75, region : 'north',
title : 'Does Santa live here?'
},
{
width : 150, region : 'west',
title : 'The west region rules'
},
{
region : 'center',
title : 'No, this region rules!'
}
]
});

如果你改变浏览器窗口大小,你将会注意到中间的panel也被自动改变了大小,这演示了viewpot如何监听和响应浏览器改变大小事件。

第四章 一个存放组建的地方
4.1 The Panel
有六个区域
建立一个复杂的Panel:
示例:
var myBtnHandler = function(btn) { Ext.MessageBox.alert('You Clicked', btn.text);
Button click
B handler method
}
var fileBtn = new Ext.Button({
text : 'File', handler : myBtnHandler
C File Button
});
var editBtn = new Ext.Button({
text : 'Edit', handler : myBtnHandler
D Edit Button
});
var tbFill = new Ext.Toolbar.Fill();
var myTopToolbar = new Ext.Toolbar({
items : [ fileBtn, tbFill, editBtn
E “Greedy” Toolbar fill
F
Top Toolbar instantiation
]
});
var myBottomToolbar = [
{
G Bottom Toolbar array configuration
},
'-',
{
},
text : 'Save', handler : myBtnHandler
text : 'Cancel', handler : myBtnHandler
'->',
'<b>Items open: 1</b>',
];

var myPanel = new Ext.Panel({
width : 200, height : 150,
title : 'Ext Panels rock!', collapsible : true,
renderTo : Ext.getBody(), tbar : myTopToolbar, bbar : myBottomToolbar,
html : 'My first Toolbar Panel!'
});
分享到:
评论

相关推荐

    ipld-proofs:IpldFilecoin的证明生成工具

    ✕遍历之前必须解析所有节点,不能懒惰地做 以最少的数据量生成证明 ✓规范且保证最小的数据占用 if如果需要重新计算/存储每个证明节点的根,则可能会更昂贵 生成证明,存储生成证明时使用的所有节点 ✓允许将证明...

    基于懒惰随机游走的雾天含噪图像清晰化

    针对现有单幅图像清晰化算法存在不能同时很好地保证去雾和降噪效果的问题,提出了一种在懒惰随机游走模型下单幅雾天含噪图像清晰化算法。首先,分析现有大气散射模型的物理意义,并加以改进使之更符合实际雾天含噪图像...

    人工智能作文(5).doc

    与此同时我们也 要对人工智能有所思考,不能因其的诸多便利而忘了属于人类最珍贵的东西――人情。 人工智能作文 篇2 放学回到家,推开门,机器人管家小希就迎上前接过我的书包,殷勤地说:"小主人 ,你回来啦!今天...

    懒惰:Chrome中的惰性负载标签

    如果您不能/不想使用,则可以按照以下说明手动进行安装。 从发行版页面下载zip文件,并将其解压缩到文件系统中的某个位置。 转到chrome://extensions ,然后点击Load Unpacked extension ,选择slot目录,然后按Ok ...

    “懒惰”Linux管理员的10个关键技巧

    虽然本文不打算对所有技巧进行讨论,但是我会介绍“懒惰”管理员所用的10个基本法宝。这些技巧可以节约时间——即使没有因为高效而得到更多的报酬,但至少可以有更多的时间去玩。网络新手的经历:按下服务器(运行...

    scripts:懒惰脚本的集合...>。>

    该分支可能包含更高级的方法,并且没有,也不能由我进行测试,因此...再次使用“自负风险”懒惰脚本的集合...&gt;。&gt; 最重要的是,脚本/代码可与您的浏览器“开发人员工具”一起使用。 要使用开发人员工具,请按照以下...

    “懒惰” Linux管理员的10个关键技巧

    如何成为一名效率更高的系统管理员  学会这 10 个技巧后,您将成为世界上强大的 Linux? 系统管理员,整个世界是有点夸张,但要在一个大...虽然本文不打算对所有 技巧进行讨论,但是我会介绍 “懒惰” 管理员所用的 10

    demystify-angular-lazy-loading:揭秘Angula懒惰加载

    揭开角懒加载的神秘面纱 议程 路由延迟加载 自定义延迟加载策略4g和WiFi与其他连接 ...ngComponentOutlet的限制,不能传递输入和输出属性 市场上现有的解决方案,@ ngxd / core和ng-dynamic-component

    懒惰「Sloth」-crx插件

    丢弃的选项卡在选项卡栏中可见,但不能从网络加载,也不能保存在内存中。 如果一个窗口没有新的标签,它将被创建并激活。这样可以防止启动过程中加载任何选项卡,除非您明确选择它。 例如,特殊标签是带有chrome://...

    做一个懒惰高效的Android程序员

    所以让我们来成为一个能偷懒又有高效率的Android程序员。想知道怎么做吗?不用急,接下来我就会写到。有许多第三方的库和框架是可供我们使用。出于种种原因,我们并不知道这些库或者知道但还没用过。有的开发者开发...

    More Effiective C++.zip

    指针和数组不能使用多态 Item M4.跳过 Item M5.隐式转换 Item M6.后缀与前缀 Item M7 跳过 Item M8 new,operator new,place new Item M9 析构函数与资源泄露 Item M10 构造函数与资源泄露 Item M12 异常 Item M17 ...

    游客查看附件不能下载附件插件 for Discuz!7[1].0.rar

    我在压缩包里有一个已经修改好的,(viewthread.php) 供懒惰的朋友或者不会修改的朋友 还有一个是未修改的源文件 供修改错误的朋友使用 (未修改viewthread.php) 打开论坛所在目录 找到 viewthread.php这个文件...

    Java基础教程代码

    既然想在短时间学好Java编程技术,那么就应该运筹帷幄,如果你连一个明确...能每天按照计划完成的人并不多,这需要你个人的自律性,如果自己懒惰,神仙都救不了。你每天应该学习多少知识点,应该如何巩固,你要很明确。

    gofritools:懒惰的开发人员的文本搜索工具的工具箱

    不要指望有人能帮助您。 甚至都不值得花时间去看。 如果出于某种原因决定使用它,请注意以下先决条件: 所需的Python版本: python3.8 必需的Python软件包(pip): 科罗拉多州 argcomplete 所需的实用程序(apt-...

Global site tag (gtag.js) - Google Analytics