我正在开发一个网络应用程序,非营利组织可以创建个人资料,并可以轻松地通过各种参数进行搜索。在“创建和组织”表单中,我有一个嵌套数组,组织可以在其中添加他们需要的捐赠。该数组存储的是ok (我可以添加多个捐赠),但是当我尝试使用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);这是我用来在我的展示页面上显示数组的代码(这是用括号显示的,即所需的捐款:“食物”,“衣服”):
<h5>{{ ctrl.organization.donations }}</h5>这是ng-repeat代码,它不会向页面呈现任何内容:
<li class="list-group-item" ng-repeat="donation in donations track by $index">
{{ donation }}
</li>我尝试在{{捐赠}}括号内使用.join(','),但这不被识别为函数。
编辑:在采纳了AJ的建议后,这里有一个截图,展示了appears...anyone知道如何解决这个问题?
seems that my array is showing up in table form, with each row containing one character
任何帮助都将不胜感激。这是github存储库的link,如果你想看其他任何东西或获得更大的图片。
发布于 2017-04-07 09:16:36
您需要使用与h5中相同的变量名
<li class="list-group-item" ng-repeat="donation in ctrl.organization.donations track by $index">
{{ donation }}
</li>https://stackoverflow.com/questions/43267972
复制相似问题