我是SAPUI5的新手,当我点击按钮时,我会在标题中看到错误 我在做什么?是否使用SAP Web IDE创建新的MVC项目。
在主视图JS中我放
createContent : function(oController) {
var btn = new sap.m.Button({
id:"myBtn",
text : "Content Button"
});
return new sap.m.Page({
title: "TitleT",
content: [ btn ]
});
}
在主控制器JS中我输入以下代码
onInit: function() {
var that = this;
window.setTimeout(function() {
that.byId("myBtn").setVisible(true);
}, Math.random() * 10000);
},
onPress: function() {
this.byId("pressMeButton").setText("I got pressed");
}
当我运行它时,我看到按钮但是当我点击它时,我在初始化中得到错误, 我在这做错了什么?
答案 0 :(得分:4)
您的代码的实际问题是您在javascript视图中创建了静态ID,但是如果您调用that.byId(“myBtn”),控制器将使用前缀“__jsview0 - myBtn”搜索id。
因此,您必须在javascript视图中使用createId(“myBtn”)来定义控制器中的id或sap.ui.getCore()。byId(“myBtn”),它才能正常工作。建议采用第一种方法,以避免名称冲突。
PS: 我没有真正得到用例,似乎你只想在某个(随机)时间帧之后显示按钮。但默认情况下,可见标志已经为真,因此按钮始终可见。
答案 1 :(得分:2)
使用SAPUI5中的标准超时和byId函数,如下所示:
onInit: function() {
setTimeout(function() {
sap.ui.getCore().byId("myBtn").setVisible(true);
}, Math.random() * 10000);
},