Emmachen / SapUi5Test

1 stars 1 forks source link

UI5 learning progress summary - till 2016-05-1 #6

Open ghost opened 8 years ago

ghost commented 8 years ago

Hi 文心,

到 目前为止我们做了5个issue的练习了。总结一下进度。

clipboard1

first bug: regarding UI5 button event handler registration

总结

这个issue是让你了解UI5事件处理的实现原理。简单地说,我们application在调用attachXXX的时候,会传入一个function作为回调,这是事件注册。这个function被框架加入到一个框架内部维护的array里。当事件发生时,框架loop那个internal的array,逐一执行我们注册好的callback。你也可以自己去找找看框架的代码是不是和我描述的一样,然后这个issue就可以设为closed了。

UI5 control id automatical generation logic

总结

这个issue你分析地很好。关于你提出的问题,

调试的时候一直有一个metadata出来,然后还有就是有一个困惑,比如像sap.ui.base.ManagedObjectMetadata,这种是怎么来的呢,还有像其他的一些sap.ui.xxx.xxx,API文档里都没有。

我会新建issue来讨论。这个issue也可以close了。

relationship between sap.ui.commons.Button in JavaScript code and button element in Html source code

总结

这个issue的目的是让你理解我们在代码里创建的UI5 控件最后是如何被框架渲染成原生的html tag的。如果你没有思路,请告诉我。

More detail about Bootstrap script tag

总结

这个issue除了让你了解UI5处理Bootstrap script tag的src属性之外,还有另外一半内容,就是搞懂下图中data-sap-ui-libs属性里声明的字符串类型的library name是如何在runtime时被UI5 framework加载的。

image

如果没有思路,可以看我写的答案

UI5 control binding logic

总结

这个data binding是UI5非常重要的topic之一,我们日常工作中遇到的很多问题都是data binding的概念没有充分吃透导致的。这个练习我提的问题是, 你点了submit后,到底发生了什么事情,能让左边两个控件的值跑到右边去。答案也在原始的issue里有,如果你看起来费劲,请告诉我。

clipboard1