<core:mvc.XMLView id="{path:' AssignmentModel>/AssignmentType' ,formatter:'.getViewName'}"
viewName="{path:' AssignmentModel>/AssignmentType' ,formatter:'.getViewName'}"
height="100%" visible="true"/>
我希望根据assignemnt类型加载视图。 我试图根据类型从控制器动态加载视图。 但它的工作正如预期的那样。
答案 0 :(得分:0)
如果在XMLView中使用View,它将被创建一次。即使你的绑定工作也是OneTime,这意味着它只能解决一次,这显然不是你想要的。
您必须使用Routing作为已提及的资质,或者从控制器动态加载内容并手动将其插入视图层次结构中。您仍然可以使用PropertyBinding来观察属性更改,如下所示:
var binding = new sap.ui.model.PropertyBinding("AssignmentModel", "/AssignmentType");
binding.attachChange(function() {
var sViewName = this.getViewName(this.getModel("AssignmentModel").getProperty("/AssignmentType");
var oView = sap.ui.xmlview({
id: sViewName
viewName: sViewName
});
// pack your view whereever you want, clean the old view before
this.getView().addContent(oView);
}, this)
您可能需要使用sap.ui.model.odata.ODataPropertyBinding
,具体取决于您使用的型号。
上面的代码未经测试,但它“应该”有效。
GL 克里斯