今天有个同事问我这个问题:假设下面这个是SmartTemplate生成的一个应用,我想调试一下后退按钮是如何实现的。由于整个UI页面都是framework实现的,所以不知道在哪里设置断点。如何进行?下面是我如何在几分钟内找到框架文件中的后端实现的过程。(1)使用Chrome扩展Inspector(下面Chrome开发工具中的UI5选项卡)找出按钮位于UI中areasap.uxap.ObjectPageHeader.BasedonthelearninginMyunderstandingabouthowobjectpageinSmartTemplateisrendered我首先在文件Details.view.xml中按关键字“返回”搜索,没有结果。(2)然后在下一个xml中搜索文件NavigationBar.fragment.xml,这次找到了按钮。通过Ctrl+Shift+F使用关键字“_templateEventHandlers.onBack”执行全局搜索,没有结果。然后改为搜索“_templateEventHandlers”,这次找到了TemplateAssembler-dbg.js。不幸的是,很难简单地从上下文代码判断_templateEventHandlers的类型,因为它是以通用方式填充的。(3)改为在onBack上搜索,结果就是我要找的:设置断点点击后退按钮验证:断点被触发:所以这里的技巧是我用来尝试搜索的关键字。第一次通过_templateEventHandlers.onBack搜索,没有结果第二次通过_templateEventHandlers搜索,有结果但没有有用第三次onBack搜索,完成。要获取更多Jerry的原创文章,请关注公众号"汪子熙":
