点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
问题与路由器以及在异步模式中创建"目标"视图的过程有关。
根视图(rootView)的控制器能够等待onInit函数中的元数据:
onInit:function(){ var model = this.getView()。getModel(); model.metadataLoaded()。then(function(){//.. ok!
但是,这在目标视图的任何其他控制器中都是不可能的(即使我将根视图作为目标)。 像这样的模型。getView()。getModel()在呈现目标之后而不是在初始化时出现。
如果我检查"网络"标签,则顺序为:
- 根视图
- 目标视图
- 根控制器(模型在onInit中定义)
- 目标控制器(模型在onInit中是 undefined )
- 模型
我的问题是:
- 是否可以在目标的onInit的清单中定义模型?
- 如果不是,推荐的解决方案是什么? 要从服务中创建一个? 渲染后模型仍会被覆盖吗?
- 我在用异步模式弄乱了东西吗?
如果您查看了大多数文档和教程,清单中没有异步模式,或者没有这样的问题。 我的主要配置如下(注意async为true):
" rootView":{ " viewName":" my.path.view.App", " type":" XML", "异步":是的, " id":" app" }, ... " dataSource":" MY_SRV", " preload":是 ... "路由":{ " config":{ " routerClass":" sap.m.routing.Router", " viewType":" XML", "异步":是的, " viewPath":" my.path.view", " controlAggregation":"页面", " controlId":" app", " transition":" slide", " viewLevel":1 }, "路线":[{ " pattern":"", " name":" master", " target":" master" },{ " pattern":"/img/{ID}", "名称":"产品", "目标":"产品" }], "目标":{ "主人":{ " viewName":"大师", " viewId":"主人", " viewLevel":1 " clearControlAggregation":是 }, "产品":{ " viewName":"产品", " viewLevel":2 " clearControlAggregation":是 } } }
在初始化中,您必须使用this.getOwnerComponet()。getModel
一周热门 更多>