【发布时间】:2016-03-26 20:25:09
【问题描述】:
我有两对控制器和视图。第一个视图包含项目列表,而第二个视图显示特定项目的一些详细信息。我想要实现的是单击一个列表项,函数 onSelect 应该调用详细视图的第二个控制器并使用所选列表项更新其内容。
到目前为止,我有以下代码:
//first list controller
onSelect : function () {
var secondController = sap.ui.controller("controller.Detail");
secondController.updateFunction("some text");
}
然后在第二个控制器中:
//second detail-controller
updateFunction: function (someText) {
var view = sap.ui.xmlview("view.Detail");
view.byId("someTextField").setText(someText);
}
问题是这不起作用。似乎 sap.ui.xmlview 没有返回显示的相同视图。 当我执行以下代码时:
var model = view.getModel(model);
console.log(model);
明细控制器的2个函数内,但第一个被外部控制器调用,第二个被onInit调用或被明细视图事件调用的函数,id不同。
如何通过更新不同视图的内容来实现这样的跨控制器函数调用?还是我的做法不对?
【问题讨论】:
标签: function view controller sapui5