【发布时间】:2013-08-29 21:38:35
【问题描述】:
我正在尝试编写一个自动完成指令,该指令使用 $http 请求从服务器获取数据(不使用任何外部插件或脚本)。目前它仅适用于静态数据。现在,我知道我需要将我的 $http 请求插入到指令的 source: 中,但是我找不到任何关于该主题的好的文档。
http 请求
$http.post($scope.url, { "command": "list category() names"}).
success(function(data, status) {
$scope.status = status;
$scope.names = data;
})
.
error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
指令
app.directive('autoComplete', function($timeout) {
return function(scope, iElement, iAttrs) {
iElement.autocomplete({
source: scope[iAttrs.uiItems],
select: function() {
$timeout(function() {
iElement.trigger('input');
}, 0);
}
});
};
});
查看
<input auto-complete ui-items="names" ng-init="manualcat='no category entered'" ng-model="manualcat">
那么,我如何以 Angular 的方式正确地将这些拼凑在一起?
【问题讨论】:
-
能否提供完整的示例源代码?我只是想知道您实际进行 HTTP 调用的时间。提前致谢。
-
您找到解决方案了吗?我面临同样的问题,加载指令时似乎 $scope.names 为空,ajax 调用被留下
标签: angularjs autocomplete directive angular-http