首页 > 解决方案 > 有没有办法使片段中 SAPUI5 绑定的模型名称动态化?

问题描述

我有一个 SAPUI5 JS 片段,它将用于不同的模型。这意味着我有一些这样的编码(当然更大,而不仅仅是一个按钮):

sap.ui.jsfragment("com.domain.FragmentName", {
    createContent: function (oController) {
        var oBindingBase= oController.getBindingInfo();
        return [
           new sap.m.Button({text : oBindingBase.modelName + ">" +
                                   oBindingBase.context + "Something",
        ];
    }
});

有了这个“hack”,我可以多次重用片段。无论是否有调用模型或路径更改。

我知道可以通过使用路径在控制器中设置绑定对象。但据我所知,无论如何,模型名称都必须在绑定本身中定义。

有没有办法通过使用 XML 视图来完成所描述的事情?

标签: sapui5

解决方案


看起来没有办法达到与 SAPUI5 XML 视图相同的行为。唯一的解决方案是构建一个始终具有相同模型名称但将从不同的其他模型填充的中间(本地)模型。

缺点:无法对真正的底层模型进行双向绑定。


推荐阅读