在我的应用程序中,我使用angular.js和jquery ui自动完成.我遇到了与此处讨论的相同的问题. 对我来说,接受的答案很有用,而且直到今天我需要用$ http ajax调用替换静态数组值.我试图将$ http作为参数传递给父函数,但我得到"未知提供者:autoCompleteProvider < - autoComplete"
我的问题是,如何在不重写或更改当前解决方案的情况下使用$ http?
asg*_*oth 12
您需要在服务的getSource()函数中添加回调引用:
app.factory('autoCompleteDataService', ['$http', function($http) {
return {
getSource: function(callback) {
var url = '...';
$http.get(url).success(function(data) {
callback(data);
}
}
}
}]);
Run Code Online (Sandbox Code Playgroud)
如果您的服务器返回json,您也可以使用$ http.jsonp.不要忘记JSON_CALLBACK参数.
在您的指令中,您需要添加回调函数本身:
...
autoCompleteDataService.getSource(function(data) {
elem.autocomplete({
source: data
minLength: 2
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9608 次 |
| 最近记录: |