我正在学习angular.js
。我正在尝试使用gmail聊天框创建一个类似实现的应用程序。因此,作为第一步,我创建了一个实现,您可以在其中创建组并从可用的contacts数组中添加成员。
首先,如果您单击添加组,我将显示所有组可用我将显示您可以点击特定联系人的联系人列表我将获取索引并将其添加到新阵列然后将其推送到我的联系阵列。
以下是我的代码的一部分
app.factory('contactfactory', function (){
var factory = {};
factory.contacts = [
{email:"vicky-1"},
{email:"vicky2"},
{email:"vicky3"},
{email:"vicky4"},
{email:"vicky5"},
{email:"vicky6"},
{email:"vicky7"},
{email:"vicky8"},
{email:"vicky9"},
{email:"vicky10"},
{email:"vicky11"},
{email:"vicky12"},
{email:"vicky13"},
{email:"vicky14"},
{email:"vicky15"},
{email:"vicky16"},
{email:"vicky17"},
{email:"vicky18"}
];
factory.myGroups = [{
groupName: "Avangers",
members: ["vicky-1","vicky2","vicky3"]
}];
factory.getGroups = function (){
return factory.myGroups;
};
factory.getContacts = function (){
return factory.contacts;
};
factory.newcontact = [];
factory.newGroup = {};
factory.createMember = function (index) {
console.log(factory.contacts[index].email);
factory.newcontact.push(factory.contacts[index].email);
console.log("inside createmem()" + factory.newcontact);
};
factory.createGroup = function (groupName) {
factory.newGroup.groupName = groupName;
factory.newGroup.members = factory.newcontact;
factory.myGroups.push(factory.newGroup);
console.log(factory.newGroup);
factory.newcontact = [];
};
return factory;
});
我得到的错误是
不允许在转发器中重复。使用'track by'表达式 指定唯一键。中继器:组中的组,重复键: 对象:019
这是我在jsfiddle的代码 http://jsfiddle.net/vickyvignesh/E6NzM/