Typescript/Angular - 在模态结果后调用单独的函数 return
Typescript/Angular - Call separate function after modal result return
当我在 Angular/Typescript 中通过关闭或取消模式返回我的承诺时,我在调用单独的函数时遇到问题。也许我正在尝试做一些不可能的事情,但我见过的所有示例要么将返回的数据记录回控制台或变量,要么发出警报。像这样:
modalInstance.result.then(function (result) {
console.log(result);
});
我想要做的是在返回结果后调用 separate 函数,例如:
modalInstance.result.then(function (result) {
console.log(result);
this.EditWidget(result);
});
但这不起作用,我似乎无法弄清楚原因。我已经尝试了所有方法,但我想我只是遗漏了一些有关 promise 在这里如何工作的信息。
有什么想法吗?
我的猜测是 this
不是您期望的那样。您需要捕获this的值并在回调中使用捕获的值:
var that = this;
modalInstance.result.then(function (result) {
console.log(result);
that.EditWidget(result);
});
或将函数绑定到此:
var callback = function (result) {
console.log(result);
this.EditWidget(result);
};
modalInstance.result.then(callback.bind(this));
当我在 Angular/Typescript 中通过关闭或取消模式返回我的承诺时,我在调用单独的函数时遇到问题。也许我正在尝试做一些不可能的事情,但我见过的所有示例要么将返回的数据记录回控制台或变量,要么发出警报。像这样:
modalInstance.result.then(function (result) {
console.log(result);
});
我想要做的是在返回结果后调用 separate 函数,例如:
modalInstance.result.then(function (result) {
console.log(result);
this.EditWidget(result);
});
但这不起作用,我似乎无法弄清楚原因。我已经尝试了所有方法,但我想我只是遗漏了一些有关 promise 在这里如何工作的信息。
有什么想法吗?
我的猜测是 this
不是您期望的那样。您需要捕获this的值并在回调中使用捕获的值:
var that = this;
modalInstance.result.then(function (result) {
console.log(result);
that.EditWidget(result);
});
或将函数绑定到此:
var callback = function (result) {
console.log(result);
this.EditWidget(result);
};
modalInstance.result.then(callback.bind(this));