我正在开发一个网络应用程序,非营利组织可以创建个人资料,并可以通过各种参数轻松搜索。在“创建和组织”表单中,我有一个嵌套数组,组织可以在其中添加所需的捐赠。数组存储正常(我可以添加多个捐赠),但是当我尝试使用ng-repeat显示它时,没有任何渲染。当我不使用ng-repeat并仅通过{{ctrl.organization.donations}}显示时,信息会显示括号和引号。
以下是我用来添加捐款的代码(通过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);
以下是我用来在我的节目页面上显示数组的代码(这是用括号显示的内容,即所需的捐款:[“food”,“clothing”]):
<h5>{{ ctrl.organization.donations }}</h5>
这是ng-repeat代码,它不会向页面呈现任何内容:
<li class="list-group-item" ng-repeat="donation in donations track by $index">
{{ donation }}
</li>
我试图在{{donation}}括号内使用.join(','),但这不会被识别为函数。
编辑:在采取AJ的建议后,这里有一个屏幕截图显示......有谁知道如何解决这个问题?
seems that my array is showing up in table form, with each row containing one character
非常感谢任何帮助。这是github仓库的link,以防您想要查看其他内容或获得更大的图片。
答案 0 :(得分:0)
您需要使用适用于h5
<li class="list-group-item" ng-repeat="donation in ctrl.organization.donations track by $index">
{{ donation }}
</li>