有没有办法使片段中SAPUI5绑定的模型名成为动态的?

有没有办法使片段中SAPUI5绑定的模型名成为动态的?,sapui5,Sapui5,我有一个SAPUI5JS片段,将用于不同的模型。 这意味着我有一些类似这样的编码(当然是相当大的,而不仅仅是一个按钮): 有了这个“黑客”,我可以多次重用这个片段。 无论是否存在被调用的模型或路径更改 我知道可以使用路径在控制器中设置绑定对象。但正如我所知,无论如何,模型名必须在绑定本身中定义 有没有一种方法可以通过使用XML视图来完成所描述的事情?看起来没有办法通过SAPUI5 XML视图实现相同的行为。唯一的解决方案是构建一个中间(本地)模型,该模型始终具有相同的模型名称,但将从不同的其他模

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

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

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


有没有一种方法可以通过使用XML视图来完成所描述的事情?

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


缺点:双向绑定不可能应用于真正的底层模型

我使用fragmentmodel,并在控制器中复制fragmentmodel和MainModel之间的值,因此您不使用“直接”模型进行绑定?我使用直接双向绑定到odata模型。如果我正确理解您的解决方案,您会阅读OData模型并将其映射到本地JSON模型吗?这是我希望避免的。如果您想在XML视图中执行此操作,是的,如果您想使用您给出的示例,您可以动态地执行此操作
sap.ui.jsfragment("com.domain.FragmentName", {
    createContent: function (oController) {
        var oBindingBase= oController.getBindingInfo();
        return [
           new sap.m.Button({text : oBindingBase.modelName + ">" +
                                   oBindingBase.context + "Something",
        ];
    }
});