【发布时间】:2015-06-21 15:16:02
【问题描述】:
我正在尝试实现ngTagsInput,我想在其中实现电子邮件的自动搜索。为此,我写了下面的代码。但它不显示自动搜索结果
HTML:
<tags-input ng-model="compose.receiver"
add-from-autocomplete-only="true"
min-length="1">
<auto-complete source="loadReceiver($query)"
min-length="0"
debounce-delay="0"
max-results-to-show="10"
loadOnEmpty="true">
</auto-complete>
</tags-input>
控制器:
$scope.loadReceiver = function(query){
return AdminInbox.loadReceiver(query);
}
服务:
angular.module('inboxes').factory('AdminInbox', ['$http','$q',
function($http,$q) {
return {
loadReceiver: function(query) {
console.log(query);
var deferred = $q.defer();
var receiver = $http.get('mailreceiver/'+query);
console.log(receiver);
return deferred.promise;
}
}
}
]);
我成功得到以下格式的回复:
[{_id: "5579c9a4f3d71f8c2a4f1e3d" email: "abc@gmail.com"},
{_id: "557f2cd3a571f9a41e4168f2" email: "xyz@gmail.com"}]
【问题讨论】:
-
您的 JSON 似乎无效。解析结果时确定没有JS错误?属性用逗号分隔。在简要了解 ngTagInput 之后,我认为响应对象应该包含一个 text 属性。
[{"text":"aaaaaa"}, {"text":"bbbbb"}] -
那么这是否意味着 Text 的 keyName 真的很有必要?我不能设置动态键,比如电子邮件吗?
-
我不知道。请检查 ngTagInput API。有一堆安静的属性
-
我先检查了一下,但找不到任何适合我的问题的解决方案,这就是我向 SO 提出这个问题的原因
-
你在哪里看的??我认为
displayProperty听起来很有希望