AngularJs过滤器和范围内的http指令

时间:2016-04-04 02:55:28

标签: angularjs http filter return

如何使用此控制器返回一个数据,其中包含过滤功能和http。

我也只使用routeparams进行数据比较。

.controller("projectSelectedController", 
    ['$scope', '$http', '$routeParams',
        function($scope, $http, $routeParams) {
            //Link to compare
            console.log($routeParams.selectedProject);

            $http
            .get("../Models/projectListRecords.php")
            .then(function(projectGet) {
                //Return all data
                console.log(projectGet);

                //Pass to Scope one Data than === Link
                $scope.projectSelected = projectGet.data.projectListRecords.filter(function(projectSelectedFilter) {                        
                    // return projectSelectedFilter.projectListName === $routeParams.selectedProject;
                    console.log(projectSelectedFilter.projectListName === $routeParams.selectedProject);
                })[0];


            });

        }
    ]);

在我看来是

{{projectSelected.myProjectName}}

1 个答案:

答案 0 :(得分:0)

'过滤器'财产看起来奇怪。看起来您正在使用假定存在于返回结果上的过滤谓词' projectGet'他们没赢。这只是一个JSON对象。您需要使用单独的过滤器函数来返回结果。 LoDash可能是一个很好的候选人。您的过滤器代码应如下所示:

var filteredResults = _.filter(projectGet.data.projectListRecords, function(record) {
    return record.projectListName === $routeParams.selectedProject;
});
if (filteredResults.length > 0) {
    $scope.projectSelected = filteredResults[0];
}