【发布时间】:2017-04-07 09:40:05
【问题描述】:
我正在开发一个网络应用程序,非营利组织可以在其中创建个人资料并通过各种参数轻松搜索。在“创建和组织”表单中,我有一个嵌套数组,组织可以在其中添加他们需要的捐款。该数组存储正常(我可以添加多个捐赠),但是当我尝试使用 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,以防您想查看其他内容或获得更大的图景。
【问题讨论】:
标签: javascript angularjs arrays angularjs-ng-repeat