在angularjs中的$scope成员函数中引用函数中的变量
Referencing a variable inside a function inside a $scope member function in angularjs
这更像是一个通用的javascript闭包和作用域函数,但我将在我遇到它的angular上下文中问它。假设我有以下控制器:
var Controller = function ($scope, factory) {
$scope.Letter = 'A';
/*
Some other code
.
.
.
*/
$scope.OnClick = function() {
console.log($scope.Letter);
SomethingWithCallBack('a param', 34, function() {
console.log($scope.Letter);
});
}
};
假设$scope。信件被更新,然后OnClick被触发。美元的范围。OnClick内部的字母保持原始值。我可以通过将这条线改为console.log(this.Letter);
来解决这个问题。但是,我不能在SomethingWithCallBack()中的匿名函数中这样做。在这里,我目前通过分配一个变量this.Letter
的值来解决这个问题,如下所示。
var myLetter = this.letter;
SomethingWithCallBack('a param', 34, function() {
console.log(myLetter);
});
是否有一些方法可以在回调中引用"外部this",所以我不必分配变量?
这是一个经典的问题当你写javascript
您所需要做的就是在附加事件侦听器之前将其存储在另一个变量中。
var that = this;
SomethingWithCallBack('a param', 34, function() {
console.log(that.myLetter);
});
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- IIFE中的函数引用不可用
- Wordpress中的Javascript出现匿名函数/引用错误
- 将函数引用存储在散列中在javascript中无法正常工作
- Google可视化addListener调用函数引用错误
- 如何存储包含参数的JS函数引用
- 如何从函数引用元素(从事件侦听器调用)
- 将函数引用传递给嵌套闭包
- Javascript递归函数引用了这一点
- 在Node.js中,从同一文件中的另一个函数引用一个函数会导致'ReferenceError:-函数-未定义
- 为什么将函数引用封装到匿名函数中可以更正'这'指向
- 如何在ES6中使用Arrow函数引用对象内部的其他函数
- 复制不带属性的函数引用
- 在控制器中使用具有函数引用的服务
- Jquery 和闭包或函数引用不起作用
- 将函数引用传递给函数失败
- Jasmine spyOn:当传递间谍函数引用时如何使其工作
- 从 Javascript 中的嵌套函数引用对象成员
- Typescript-不同文件中的模块函数引用-“;找不到符号“;
- 与许多事件侦听器和函数引用一个对象相比,什么是更好的方法