SAP UI5 里最接近 Angular OnInit 的机制,Controller onInit 与生命周期边界 📅 2026/7/15 4:21:52 答案可以直接落在一个方法上,SAP UI5 的Controller.onInit就是最接近 AngularOnInit和ngOnInit的技术。两边都把一段初始化逻辑交给框架,在对象进入可工作状态的特定时刻自动执行,业务代码只需要实现约定的方法,不需要手工调用。不过,名称相似不等于语义完全一致。Angular 的ngOnInit与输入属性初始化、变更检测和组件模板生命周期绑定,SAP UI5 的onInit则与View和Controller的创建过程绑定。理解这层差别后,很多常见问题都会变得清楚,像为什么this.byId在onInit里通常能拿到控件,为什么getDomRef往往拿不到浏览器节点,为什么从详情页返回后再次进入页面时onInit可能没有重新执行,以及为什么路由参数处理不应该全部塞进onInit。先把 Angular 这一端的概念拆开。OnInit是@angular/core暴露的一个 TypeScript 接口,对应的方法是ngOnInit。Angular 官方文档给出的调用时机是,框架已经初始化组件或指令的数据绑定属性,并完成首次相关检查之后调用该方法,而且每个实例只调用一次。它发生在组件自身的模板和内容子节点完成初始化之前。Angular 官方文档也明确说明,生命周期接口是可选的,i