sapui5 - 在根视图的 onInit() 中设置模型时出错 - 没有错误/没有日志
问题描述
我正在尝试new JSONModel
在Main.view.xml
(根视图)上设置一个。但它似乎停在.setModel()
。console.log("after")
没有记录。
sap.ui.define([
"sap/ui/core/mvc/Controller",
"jquery.sap.global",
"sap/m/MessageToast",
"sap/ui/model/json/JSONModel"
], function (Controller, JSONModel, MessageToast) {
"use strict";
return Controller.extend("sap.ui.bookedTimes.wt.controller.Main", {
onInit : function () {
var jModel = this.getOwnerComponent().getModel("zCatsTestJ");
var that = this;
jModel.attachRequestCompleted(function() {
console.log(that.getView());
var oViewModel= new JSONModel({workdate: "test"});
console.log("before");
that.getView().setModel(oViewModel, "view");
console.log("after");
console.log(that.getView().getModel("view"));
});
},
});
});
进入manifest.json
:
"sap.ui5": {
"rootView" : {
"viewName":"sap.ui.bookedTimes.wt.view.Main",
"id": "mainview",
"type": "XML"
},
onInit()
根视图有问题吗?
更新: 我应该添加 xml.view 的一部分。我将视图名称更改为“view1”,并记录了控制器中的所有内容。问题是我的观点仍然期待约会
<Text text="{ path: 'view1>/workdate', type: 'sap.ui.model.type.Date', formatOptions: { pattern: 'dd.MM.yyyy' } }" />
将其更改为文本后,它正在工作。无论如何,最初的问题是定义的顺序
多谢你们
解决方案
看起来您的导入已关闭。尝试像这样修复它(注意define([])
块)
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/json/JSONModel",
"sap/m/MessageToast"
], function (Controller, JSONModel, MessageToast) {
"use strict";
return Controller.extend("sap.ui.bookedTimes.wt.controller.Main", {
onInit : function () {
var jModel = this.getOwnerComponent().getModel("zCatsTestJ");
var that = this;
jModel.attachRequestCompleted(function() {
console.log(that.getView());
var oViewModel= new JSONModel({workdate: "test"});
console.log("before");
that.getView().setModel(oViewModel, "view");
console.log("after");
console.log(that.getView().getModel("view"));
});
},
});
});
现在您应该正确导入了 JSONModel 并且不应该看到任何错误。
推荐阅读
- git - React 原生节点模块:如何在 git 中保持 Android 模块的变化?
- javascript - javascript中switch语句的行为不端
- qt - 如何获得网格三角形
- php - 如何在 laravel 中选择数据?
- mysql - Laravel MySQL 数据透视表到列
- php - 在目录中创建新文件时在 Linux 中运行 Crontab
- r - 如何在R中融化数据框
- javascript - 是什么阻止我的 jquery 函数执行 ajax 脚本
- angular - 默认图像未显示,而 Angular 4 中的配置文件图像为空
- php - elseif 不能按预期在 php 中工作