[英]Angular typeahead : watch for dataset change
我在我的项目中使用Siyfion的typeahead指令 。
我在控制器中所做的是这样的:
$http({method: 'GET', 'url': CONFIG.SOMEURL})
.success(function(data, status, headers , config){
if(status==200)
{
$scope.objects = data;
for(i=0; i < $scope.objects.length; i++){
$scope.allObjects.push($scope.objects[i].name);
}
console.log($scope.allObjects);
$scope.dataSet = {
name : 'objs',
local : $scope.allObjects
};
我从django
视图中获得了一个'对象'数组作为json。 但是问题出在我的HTML模板中:
<input type="text" class='sfTypeahead' datasets='dataSet' ng-model='testname' />
由于在进行异步调用时dataSet
最初为空,所以出现错误:
TypeError: Cannot read property 'name' of undefined
有没有一种方法可以查找dataSet
或datasets
变化,以便一旦数组allObjects
被填充,DOM可能就可以刷新?
任何人都可以建议可以在这里做什么
全面披露:我是上述指令的作者。
本质上,当Typeahead.js和Bloodhound专为您设计时,您正在尝试在Angular中进行所有预取。 仔细看看https://twitter.github.io/typeahead.js/examples/,并特别注意Bloodhound建议引擎。
也许有些用处:
注意:您正在使用的指令版本(9个月前)不支持更新数据集局部变量,但现在支持更新,因此您可以按照需要这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.