簡體   English   中英

如何使用angularJS存儲對象數組

[英]How do i store an array of objects with angularJS

我在mongoDB中具有對象的這種架構,在這個問題中我將調用我的對象CAR:

this.carroSchema = new Schema({
    modelo: String,
    ano: String,
    placa: String,
    cor: String,
    categoria: [{tipo: String, preco: String}],
    createdOn: {type: Date, default: Date.now}
});

我有這個功能來獲取對象CAR並存儲在數組'arrayCarros'中

$scope.carregarCarros = function(){
    $http({
        method: 'GET',
        url: '/listaCarro'
    })
    .then(function successCallback(response){
        $scope.arrayCarros = response.data;
    }, function errorCallback(response){
        alert(response.data);   
    });
}

如果我做這樣的選擇:

<select class="form-control" ng-click = "carregarCarros()" name="select">
<option ng-repeat = "carros in arrayCarros">{{carros.placa}}</option>                       
</select>

我可以從對象CAR上訪問屬性“ placa”,因此我可以在選擇中顯示值。

但是,我的問題是,如何將對象CAR內的數組“ categoria”存儲在其他數組中,以便我可以對他進行ng-repeat選擇並訪問其屬性(如“ tipo”和'preco'?

這是一種簡單的方法。 顯然,根據您的用例,您始終可以使用內置的javascript函數(例如Array.filter或Array.reduce),但是以下是易於遵循的解決方案。

$scope.other_array = [];

response.data.forEach(function(car){
   $scope.other_array.push(car.categoria)
})

console.log(other_array)

還應該注意的是,您可以具有多個ng-repeats,並且只有一個渲染carros.place和一個渲染carros.categoria。 那個或只是兩個var在同一個ng-repeat中呈現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM