AngularJs params为所有对象提供一个id

时间:2017-01-31 13:11:46

标签: angularjs http parameters

我希望使用json参数从AngularJs文件中获取单个对象,但它会为我提供所有对象。

这是我用过的代码,

 (function () {

    "user strict";

    angular
        .module("myApp")
        .controller("indexCtrl", function ($scope, $http, $routeParams) {

        var workId = $routeParams.id;

        $http({
            url: "data/work.json", 
            method: "GET",
            params: {id: workId}
        }).then(function(sitedata) {
            $scope.workDetail = sitedata.data;
        });  

    });
})();

请帮帮我。感谢

1 个答案:

答案 0 :(得分:1)

如果您正在加载json文件,它只会返回整个内容,您必须在then回调中进行过滤:

$http({
    url: "data/work.json", 
    method: "GET"
}).then(function(sitedata) {
    var match = sitedata.data.filter(function(item) {
        return item.id == workId;
    });
    if (match.length) {
        $scope.workDetail = match[0];
    }
});  
相关问题