我的问题是我的manifest.json文件中指定的默认模型为""。
但是,我也在我的控制器中设置了一个视图模型。
{ test: /\.ts$/, include: /ClientApp/, use: ['awesome-typescript-loader?silent=true', 'angular2-template-loader'] },
如何将视图模型恢复为默认模型?
仅仅是
的情况var oModel = new JSONModel({
questions: [{
order: 1,
title: "",
criteria: "",
}]
});
this.getView().setModel(oModel);
我问,因为默认模型是包含我所有读/写的服务。
答案 0 :(得分:1)
您应该在设置默认模型后设置命名模型。因此,您的代码应该像
一样进行更改var oModel = new JSONModel({
questions: [{
order: 1,
title: "",
criteria: "",
}]
});
this.getView().setModel(oModel,"newModelName");
现在您可以通过
获取默认模型this.getView().getModel()
并通过
命名json模型this.getView().getModel("newModelName");
答案 1 :(得分:0)
解决方案是初始化和访问附加模型的方式,但命名并将其称为“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}"