如何从http获取名称获取angularjs

时间:2018-10-15 12:12:33

标签: angularjs

var array = [];

$http.get('v1/someset')
        .then(function(data) {

          if(data){
            mysize = data.data.size;  
            mysize.filter(function(e) {
              array.push(e.name);
            })
          }
        }).catch(function(error){
            console.log("Error", error);
        })

mysize =>

{id: "1", some_id: "1", name: "Small", active: "1"},
{id: "2", some_id: "1", name: "Medium", active: "1"}
{id: "3", some_id: "1", name: "Large", active: "1"}
{id: "4", some_id: "1", name: "X-large", active: "1"}
{id: "5", some_id: "1", name: "XX-large", active: "1"}
{id: "6", some_id: "1", name: "XXX-large", active: "1"}

如何从http获取名称get angularjs 它应该只返回

[“小”,“中”,“大”,“ X大”,“ XX大”,“ XXX大”] 并且可以在外面访问

2 个答案:

答案 0 :(得分:1)

const mysize = [
{id: "1", some_id: "1", name: "Small", active: "1"},
{id: "2", some_id: "1", name: "Medium", active: "1"},
{id: "3", some_id: "1", name: "Large", active: "1"},
{id: "4", some_id: "1", name: "X-large", active: "1"},
{id: "5", some_id: "1", name: "XX-large", active: "1"},
{id: "6", some_id: "1", name: "XXX-large", active: "1"},
]

const names = mysize.map(i => i.name)

答案 1 :(得分:0)

您应该使用地图创建所需的arr类型

var array = [];

$http.get('v1/someset')
        .then(function(data) {

          if(data){
            mysize = data.data.size;  
            //array is not the same as the array on the top
            array = mysize.map(function(item){
             return item.name
            })
          }
        }).catch(function(error){
            console.log("Error", error);
        })

要返回数据,您应该返回一个诺言

apiService.js

var getData = $http.get('v1/someset')
            .then(function(data) {

              if(data){
                var mysize = data.data.size;  
                var array = mysize.map(function(item){
                 return item.name
                })
                 return Promise.resolve(array)
              }
            }).catch(function(error){
                console.log("Error", error);
                return Promise.reject(error)
            })

和从控制器调用数据的人应该这样做

scope.data = []
apiService.getData().then(function(data){
   //scope is accessible here
   scope.data = data
})