2017-04-07 44 views
0

我正在開發一個Web應用程序,非營利組織可以創建一個配置文件,並可以通過各種參數輕鬆搜索。在「創建和組織」形式中,我有一個嵌套數組,可以在組織中添加他們需要的捐贈。該數組存儲好(我可以添加多個捐款),但是當我嘗試使用ng-repeat顯示它時,沒有任何呈現。當我不使用ng-repeat並通過{{ctrl.organization.donations}}顯示時,信息顯示括號和引號。ng-repeat無法呈現數組中的數據

下面是我用添加的捐款(通過newOrganization控制器)代碼:

function NewOrganizationController(OrganizationService, CategoryService, $stateParams, $state, $http, Auth){ 

    var ctrl = this; 

    CategoryService.getCategories().then(function(resp) { 
    ctrl.categories = resp.data; 
    }); 

    ctrl.donations = [{text: ''}]; 

    Auth.currentUser().then(function(user) { 
    ctrl.user = user; 
    }) 

    ctrl.addNewDonation = function() { 
    var newDonation = ctrl.donations.length+1; 
    ctrl.donations.push({text: ''}); 
    }; 

    ctrl.removeDonation = function() { 
     var lastItem = ctrl.donations.length-1; 
     ctrl.donations.splice(lastItem); 
    }; 

    ctrl.addOrganization = function() { 
    var donations = this.donations; 
    var allDonations = []; 

    for (var key in donations) { 
     if (donations.hasOwnProperty(key)) { 
     var donation = donations[key].text; 
     allDonations.push(donation); 
     } 
    } 
    var data = { 
     name: ctrl.organization.name, 
     description: ctrl.organization.description, 
     address: ctrl.organization.address, 
     donations: allDonations.join("/r/n"), 
     category_id: this.category.id 
    }; 


    OrganizationService.createOrganization(data); 
    $state.go('home.organizations'); 
    }; 

} 


angular 
    .module('app') 
    .controller('NewOrganizationController', NewOrganizationController); 

這裏是我使用,以顯示我的節目頁面上的數組的代碼(這是什麼節目了括號,即捐贈需要:「食品」,「服裝」):

<h5>{{ ctrl.organization.donations }}</h5> 

這是NG重複代碼不能呈現任何內容到頁面:

<li class="list-group-item" ng-repeat="donation in donations track by $index"> 
    {{ donation }} 
</li> 

我試圖在{{捐獻}}括號內使用.join(','),但這不會被識別爲函數。

編輯:在採取AJ的建議這裏是一個什麼顯示的屏幕截圖......任何人都知道如何解決這個問題?

seems that my array is showing up in table form, with each row containing one character

任何幫助將不勝感激。這裏是一個link github回購的情況下,你想看什麼或得到一個更大的圖片。

回答

0

您需要使用在h5

<li class="list-group-item" ng-repeat="donation in ctrl.organization.donations track by $index"> 
    {{ donation }} 
</li> 
+0

AJ作品相同的變量名 - 感謝您的回答!當我這樣做的時候會出現一些東西,但是它以表格的形式出現,並且每行都有一個字符。 –

+0

這是一個列表項,爲什麼你期望它是表格形式?如果您需要該幫助,您將不得不提供更多的HTML/CSS –

+0

我不希望它以表格的形式出現。我在$ index的ctrl.organization.donations跟蹤的原始文章中添加了屏幕截圖。也許表不是正確的詞,但我從來沒有見過我遇到過的問題。 –