Javascript 使用动态名称访问$scope对象

Javascript 使用动态名称访问$scope对象,javascript,jquery,angularjs,angularjs-scope,Javascript,Jquery,Angularjs,Angularjs Scope,我有一个角度控制器,我试图通过它查看字符串列表,查询列表中每个字符串的ajax查询。代码如下: var itemsliststrings = ["department", "year", "project", "subdepartment"]; itemsliststrings.forEach(function (itemStr) { $http.post("/Budget/GetListBudget", { budgetType: itemStr }) .success(fu

我有一个角度控制器,我试图通过它查看字符串列表,查询列表中每个字符串的ajax查询。代码如下:

var itemsliststrings = ["department", "year", "project", "subdepartment"];

itemsliststrings.forEach(function (itemStr) {
    $http.post("/Budget/GetListBudget", { budgetType: itemStr })
    .success(function (data) {
        var the_string = itemStr;
        var model = $parse(the_string);
        model.assign($scope, data);
        $scope.$apply();
    })
    .error(function (error) {
        console.error(error);
        toastr.error('An error occured, unable to load ' + itemStr);
    });
});
这是不起作用的代码。它抱怨错误
“$parse”未定义
。我从一篇SO文章中选取了这个例子

我基本上希望能够循环使用ItemsListString,将字符串发布到web方法,并将其返回数据设置为名为该特定字符串的模型变量。因此,当我获取“department”字符串时,我将该字符串提交给web方法,我将返回一个数据对象,然后将其设置为$scope.department对象


谢谢

您是否在控制器中插入了$parse提供程序

    .controller('yourController',function($scope,$parse,etc..){});

您是否在控制器中插入了$parse提供程序

    .controller('yourController',function($scope,$parse,etc..){});

您是否在控制器中插入了$parse提供程序

    .controller('yourController',function($scope,$parse,etc..){});

您是否在控制器中插入了$parse提供程序

    .controller('yourController',function($scope,$parse,etc..){});


你试过$scope[itemStr]=data吗?

你试过$scope[itemStr]=data吗?

你试过$scope[itemStr]=data吗?

你试过$scope[itemStr]=data吗?

为什么不做
$scope.values[itemStr]=value
?我收到错误
无法设置未定义或空引用的属性“department”
您需要首先定义
$scope.values
对象:
$scope.values={}
。您好,我尝试了这个,它不再出错,数据被设置到模型中,但是一旦设置数据,视图就不会更新,如何对新模型数据进行视图更新?如何在html中引用scope属性?为什么不执行
$scope.values[itemStr]=value
?我收到错误
无法设置未定义或空引用的属性“department”
您需要首先定义
$scope.values
对象:
$scope.values={}
。您好,我尝试了这个,它不再出错,数据被设置到模型中,但是一旦设置数据,视图就不会更新,如何对新模型数据进行视图更新?如何在html中引用scope属性?为什么不执行
$scope.values[itemStr]=value
?我收到错误
无法设置未定义或空引用的属性“department”
您需要首先定义
$scope.values
对象:
$scope.values={}
。您好,我尝试了这个,它不再出错,数据被设置到模型中,但是一旦设置数据,视图就不会更新,如何对新模型数据进行视图更新?如何在html中引用scope属性?为什么不执行
$scope.values[itemStr]=value
?我收到错误
无法设置未定义或空引用的属性“department”
您需要首先定义
$scope.values
对象:
$scope.values={}
。您好,我尝试了这个,它不再出错,数据被设置到模型中,但是一旦设置数据,视图就不会更新,如何对新模型数据进行视图更新?如何在html中引用作用域属性?Doh!不,我没有,我现在添加了$parse提供程序,它成功地解析了变量名。我知道这是问题中的另一个问题,但一旦调用
$scope.$apply()
方法,就会出现一个错误:
错误:[$rootScope:inprog]$digest已经在进行中http://errors.angularjs.org/1.2.2/$rootScope/inprog?p0=%24摘要
您知道这可能意味着什么吗?因此,我的视图没有使用正确的值进行更新。Doh!不,我没有,我现在添加了$parse提供程序,它成功地解析了变量名。我知道这是问题中的另一个问题,但一旦调用
$scope.$apply()
方法,就会出现一个错误:
错误:[$rootScope:inprog]$digest已经在进行中http://errors.angularjs.org/1.2.2/$rootScope/inprog?p0=%24摘要
您知道这可能意味着什么吗?因此,我的视图没有使用正确的值进行更新。Doh!不,我没有,我现在添加了$parse提供程序,它成功地解析了变量名。我知道这是问题中的另一个问题,但一旦调用
$scope.$apply()
方法,就会出现一个错误:
错误:[$rootScope:inprog]$digest已经在进行中http://errors.angularjs.org/1.2.2/$rootScope/inprog?p0=%24摘要
您知道这可能意味着什么吗?因此,我的视图没有使用正确的值进行更新。Doh!不,我没有,我现在添加了$parse提供程序,它成功地解析了变量名。我知道这是问题中的另一个问题,但一旦调用
$scope.$apply()
方法,就会出现一个错误:
错误:[$rootScope:inprog]$digest已经在进行中http://errors.angularjs.org/1.2.2/$rootScope/inprog?p0=%24摘要
您知道这可能意味着什么吗?因此,我的视图不会使用正确的值进行更新。