Rob*_*opp 8 angularjs ng-tags-input
我试图在ngTagsInput中使用自动完成,我收到以下错误:
Error: [ngRepeat:dupes] http://errors.angularjs.org/1.2.9/ngRepeat/dupes?p0=item%20in%20suggestionList.items%20track%20by%20track(item)&p1=undefined
at Error (native)
Run Code Online (Sandbox Code Playgroud)
要么
TypeError: Cannot read property 'replace' of undefined
at j (https://localhost:3000/js/plugins/ng-tags-input.min.js:1:5556)
Run Code Online (Sandbox Code Playgroud)
我已经检查了几次,我的查询功能正在返回一个正确的标签数组,而且确实如此.它工作得很漂亮.标签的结构如下所示:
{
name: String,
_id: ObjectId,
__v: Number,
active: Boolean,
display: Boolean,
createDate: Date
}
Run Code Online (Sandbox Code Playgroud)
我的HTML看起来像:
<tags-input
ng-model="tags"
displayProperty="name"
placeholder="Add a tag">
<auto-complete source="loadTags($query)"></auto-complete>
</tags-input>
Run Code Online (Sandbox Code Playgroud)
而我的loadTags函数是:
$scope.loadTags = function(query) {
return $http.get(configService.getApi() + '/tags?conditions=' + urlEncodeObject({name: { $regex: query }}), {
headers: {
'x-auth-token': sessionService.getToken()
}
});
};
Run Code Online (Sandbox Code Playgroud)
Dupes - 这意味着 ngRepeat 的索引是重复的。你必须使用像
ng-repeat="item in items track by $index"