Sapui5 设置好另一个模型后,获取并设置默认模型

Sapui5 设置好另一个模型后,获取并设置默认模型,sapui5,Sapui5,我的问题是在manifest.json文件中有一个默认模型被指定为“” 不过,我还在控制器中设置视图模型 var oModel = new JSONModel({ questions: [{ order: 1, title: "", criteria: "", }] }); this.getView().setMode

我的问题是在manifest.json文件中有一个默认模型被指定为“”

不过,我还在控制器中设置视图模型

var oModel = new JSONModel({
            questions: [{
                order: 1,
                title: "",
                criteria: "",
            }]
        });


        this.getView().setModel(oModel);
如何将视图模型恢复为默认模型

这只是一个简单的例子吗

this.getView().setModel("");

我这样问是因为默认模型是包含我所有读/写操作的服务。

解决方案是以初始化和访问附加模型的方式,但命名它并将其称为“viewmodel”

这样,默认模型仍然可以使用

    oModel = this.getView().getModel();
在控制器中:

    this.getView().setModel(oModel,"viewmodel");
    var oContext = oModel.createBindingContext("/questions/0/");
    this.getView().setBindingContext(oContext,"viewmodel"); 
他认为:

    title="Question {viewmodel>order}"

您应该在设置默认模型之后设置命名模型

var oModel = new JSONModel({
        questions: [{
            order: 1,
            title: "",
            criteria: "",
        }]
    });


    this.getView().setModel(oModel,"newModelName");
现在您可以通过以下方式获得默认模型:

this.getView().getModel()
并将json模型命名为

this.getView().getModel("newModelName");

使用
setModel(oModel,'myName')
您可以同时拥有多个;这意味着无论我如何设置属性,它们在视图中都不再可用。。{order},{viewModel>order}{viewModel>/order>我还在为模型分配一个上下文-var oContext=oModel.createBindingContext(“/questions/0/”);this.getView().setBindingContext(oContext);表或列表中的循环是
{viewModel>/questions}/code>,行中的属性是
{viewModel>order}
。不要在任何内容上设置上下文