当前位置: 首页 > 面试题库 >

在angular.forEach中无法访问变量

仲孙俊贤
2023-03-14
问题内容

我有服务

app.service('myService', function() {
    this.list = [];
    this.execute = function() {
        //this.list is reachable here
        angular.forEach(AnArrayHere, function(val, key) {
           //this.list is not reachable here
        });
    }
}

即使在控制器中也可访问

function Ctrl($scope, myService) {
    $scope.list = myService.list;
}

有人可以解释一下为什么在angular.foreach中无法访问“ this.list”吗?如何访问“ this.list”?


问题答案:

angular.forEach(请参阅http://docs.angularjs.org/api/angular.forEach)函数中的最后一个参数是的上下文this。因此,您需要这样的东西:

app.service('myService', function() {

    this.list = [];

    this.execute = function() {

        //this.list is reachable here

        angular.forEach(AnArrayHere, function(val, key) {
           //access this.list
        }, this);

    }
}


 类似资料:
  • 我有一个对象类,其中有几个字段和方法,我可以在when子句中成功访问这些字段和方法: 这类似于我的口水规则的结构: IntelliJ立即抱怨说它无法解析符号$对象。仅当我执行以下操作时,该变量似乎才可访问,但无法从包装器上下文外部访问getObject()方法。 在使用drools框架时,处理变量的正确方法是什么?是否可以在包装器外部声明变量,然后在包装器内部更改其值? 上面代码工作的项目中还有其

  • 问题内容: 我正在尝试在cgo中访问ac struct,但是要这样做 无法确定C.utmpx的名称种类 utmpx是结构 这是执行代码: 在utmpx.h文件中,有 我可以使用_PATH_UTMPX,但在使用UTMPX_FILE时也会收到相同的警告,为什么? 看来我无法访问在.h文件中声明的这些变量,该怎么办? 平台:macOS sirria,go 1.8 问题答案: 我必须定义_GNU_SOUR

  • 问题内容: 我有这个来自URL的Json: 我需要把手放在列表中的属性上。 所以应该是功能->属性-> name_en(类似对象的列表) 我尝试这样: 为了创建第一个Json Array,但我什至无法做到。我收到错误消息:JSONObject类型的方法getJSONArray(String)未定义 (我对“ getJSONObject”有同样的错误)。一定是缺少的东西,我是Java / andro

  • 我有个大问题。我安装了新的,顺便把我的改为。我还设置了tomcatmanager角色,并在NetBeans的Tomcat选项中设置名称和密码。 如果我现在正在运行我的项目(该项目在之前运行得非常好,但不幸的是在新设置之前删除了我的旧环境),服务器将启动,但该项目没有部署在Tomcat上。 如果我转到正在运行。我可以使用我指定的用户名和密码访问Tomcat,但如果我试图在NetBeans中查看文件夹

  • 我得到以下错误,我不确定问题是什么 1智能感知:“标准::基本团队” 书cpp 我得到了 书H 我甚至不明白错误告诉了我什么

  • 问题内容: 我认为这是异步的问题,但我不知道解决方案。 我的问题是,如果我尝试在函数外部访问它,则返回undefined,并且我不知道如何在页面上显示表格。 问题答案: 问题是Selling.find是异步的,可能在执行this.table = table时尚未完成。尝试类似以下的方法。 这将确保在获取结果并填充表之后才使用表。