Javascript 跨多个角函数的进位数组

Javascript 跨多个角函数的进位数组,javascript,arrays,angularjs,angularjs-scope,scope,Javascript,Arrays,Angularjs,Angularjs Scope,Scope,我正在尝试为我的程序实现一种跟踪用户选择和搜索的过滤器的方法。输入将位于一个文本框、多个文本框中。每个选项(时间戳、SourceHost、UUID等)都有一个文本框[我正在构建一个内部应用程序]。我需要能够携带我的参数的过滤器列表,我决定使用数组对象,但我有一些问题。我初始化数组,但无法访问其他函数中的信息 app.controller("AppCtrl", function($http, $scope){ var app= this; $scope.filterList = [

我正在尝试为我的程序实现一种跟踪用户选择和搜索的过滤器的方法。输入将位于一个文本框、多个文本框中。每个选项(时间戳、SourceHost、UUID等)都有一个文本框[我正在构建一个内部应用程序]。我需要能够携带我的参数的过滤器列表,我决定使用数组对象,但我有一些问题。我初始化数组,但无法访问其他函数中的信息

app.controller("AppCtrl", function($http, $scope){
    var app= this;
    $scope.filterList = [];
    $scope.filterList.push("test");
    console.log($scope.filterList);
    $scope.incData = function(page, filterList){
        callingIrrelevantFunction(page)
        console.log($scope.filterList);
第一个console.log输出“test”。但是当我以后使用它时(这不是我想要的用例,我只是想确保我可以定义数组的范围并在函数内部调用它),输出是不正确的。实际的预期用途是,我将把它附加到url的末尾

编辑: 以下是我的代码的可共享版本:

app.controller("AppCtrl", function($http, $scope){
   var app = this;
   $scope.filterList = [];
   $scope.filterList.push("uuid=9022");
   $scope.filterList.push("source_host=Kani");

   function foobar(filterList){
       console.log("inside foobar");
       console.log(filterList);
   }
   foobar($scope.filterList);
});
输出“[]”

编辑#2:


当我将代码更改为一个数组,前面没有“$scope.”时,代码就可以工作了。但我相信我确实需要“$scope.”使其能够与角度指令一起工作。

问题在于,您在“可共享”版本中将字符串值分配给
$scope.filterList.push
。您从未实际将值推入数组。

从您的代码中。我不明白为什么你的数组没有相同的内容。您可以使用其他函数来调整内容。这里没有显示的部分代码。回显@DayanMorenoLeon,你能发布你的整个控制器吗?对$scope.filterList做了什么更改
Callingirevantfunction(page)
。为什么在你的“可共享”版本中将字符串指定给
$scope.filterList.push
。@Tacoman667我认为这是我的错误,我仔细查看了它,谢谢你指出这一点。我相信现在一切都正常了。