gpt4 book ai didi

javascript - 将 "this"上下文传递给 SAPUI5 上的 JavaScript 函数

转载 作者:行者123 更新时间:2023-12-03 04:16:27 25 4
gpt4 key购买 nike

我有 ODataModel 对象的以下功能:

serviceModel.read("/Users(1)", {
success: function(userModel) {
this.getView().setModel(userModel, "userAuthenticated");
}
});

调用 this.getView() 时出现错误功能。 this也不被识别并且具有空值。我选择使用这个不太优雅的解决方案:

var viewCurrent = this.getView();
serviceModel.read("/Users(1)", {
success: function(userModel) {
viewCurrent.setModel(userModel, "userAuthenticated");
}
});

无论如何,我想知道如何将“this”上下文作为参数传递的正确方法。

最佳答案

如果您read the documentation您会发现上下文与函数上下文不相关。

要正确设置上下文,您有几个选项。第一个是使用 arrow function它将 this 绑定(bind)到当前范围 this 值。

serviceModel.read(
"/Users(1)", {
success: (userModel) => {
this.getView().setModel(userModel, "userAuthenticated");
},

...

如果您运行的环境不支持箭头函数,您可以随时使用 bind它允许您在函数内部指定 this 的值。

serviceModel.read(
"/Users(1)", {
success: function(userModel) {
this.getView().setModel(userModel, "userAuthenticated");
}.bind(this),

...

关于javascript - 将 "this"上下文传递给 SAPUI5 上的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44120631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com