我已经动态生成了按钮,但没有触发新闻事件。
我还尝试为每个新闻事件赋予相同的功能名称,但这不起作用。
for (var i = 1; i < 4; i++) {
var pr = "onPress" + i;
var oButton = new sap.m.Button({
text: "Save",
press: pr
});
// ...
}
单击按钮后,控制台中显示以下错误:
EventProvider-dbg.js:228未捕获的TypeError:I.fFunction.call不是函数
在f.b.fireEvent(EventProvider-dbg.js:228)
在f.b.fireEvent(Element-dbg.js:557)
在f.firePress(ManagedObjectMetadata-dbg.js:764)
在f.d.ontap(Button-dbg.js:300)
在f.b._handleEvent(Element-dbg.js:259)
在builder.U._handleEvent(UIArea-dbg.js:921)中
在HTMLDivElement.dispatch(jquery-dbg.js:4737)
在g(jquery-mobile-custom-dbg.js:1881)
在HTMLDivElement.r(jquery-mobile-custom-dbg.js:2000)
在HTMLDivElement.dispatch(jquery-dbg.js:4737)
答案 0 :(得分:2)
press
应该是function
,请尝试如下操作:
for (let i = 1; i < 4; i++) {
var oButton = new sap.m.Button({
text: "Save",
press: () => {
console.log("onPress" + i);
}
});
// ...
}
我还用i
关键字声明了let
,因为回调将异步执行