测试
全部博文(931)
分类: 架构设计与优化
2020-02-08 11:11:44
First of all, the Component-preload.js works as expected. In your design time, ( WebIDE or Eclipse ) , all development artifact, the .js files are organized into different folders. And in the productive use case, the content of all js files are combined into a single file to save network traffic, reduce needed roundtrip to load those resource. See more details from these links:
Component-preload of Fiori Apps
UI5 Components: Component-preload.js
So back to your question: why although you have overwritten onAfterRendering method, however still the standard one is called in the runtime?
Again, this unexpected behavior is caused by closure.
The AfterRendering function is not directly called but via event-subscribe&raise style, via javascript keyword apply.
If you find the framework code is difficult to read, just refer to the example below which is caused by the same reason by easier to understand.
http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example
finally, the purpose of the line oAtt.oHeaderToolbar.setVisible(false); is to hide the built-in toolbar of the attachment subview. If this line is missing, there will be duplicate toolbar for each uploaded attachment.
Currently the standard code in onAfterRendering never considers the possibility that the attachment panel would be removed from UI, thus I think this is a bug. Please kindly create one incident to my component and we will do a fix for it. Thanks a lot!