2017-07-06 156 views
0

需要帮助才能对Angular Factory进行更改。有与数组JSON数据工作的示例,但需要此代码与$ http请求中的JSON数据一起工作,这是怎么回事?

这是例如工厂:

angular.module('starter.services', []) 

.factory('catgs', function() { 
    // Might use a resource here that returns a JSON array 

    // Some fake testing data 
    var catgs = [{ 
    id: 0, 
    name: 'CATG1', 
    items: [{ 
     img:'img/G1I1.png', 
     name:'category1Item1', 
     status:'OPEN' 

     }] 
    },{ 
    id: 1, 
    name: 'CATG2', 
    items: [{ 
     img:'img/G2I1.png', 
     name:'category2Item1', 
     status:'OPEN' 

     },{ 
     img:'img/G2I2.png', 
     name:'category2Item2', 
     status:'CLOSED' 

     }] 
    }]; 

    return { 
    all: function() { 
     return catgs; 
    }, 
    remove: function(catg) { 
     catgs.splice(catgs.indexOf(catg), 1); 
    }, 
    get: function(catgId) { 
     for (var i = 0; i < catgs.length; i++) { 
     if (catgs[i].id === parseInt(catgId)) { 
      return catgs[i]; 
     } 
     } 
     return null; 
    } 
    }; 
}); 

需要帮助,以取代catgs JSON数据$ http请求,例如musite.com/jsondata.json

回答

1
//try this 
$http.get('your api url or .json').then(function(result){ 
    $scope.jsonData = result.data; 
}, function(err) { 
    console.log(err); 
}); 
+0

谢谢回答,但你可以显示完整的工厂示例? – KingStakh

+0

是的,我可以show ..so在这里你可以做什么通过上面的代码获取json,你可以返回该obj,所以你可以检索你的json数据在任何地方,无论你的工厂正在被注入 –