我在过去的5个小时里没有成功... 这是代码..
在视图中:
<input type="text" ng-model="foo" auto-complete/>Foo = {{foo}}
在控制器中:
myapp.directive('autoComplete', function(autoCompleteDataService) {
return {
restrict: 'A',
link: function(scope, elem, attr, ctrl) {
elem.autocomplete({
source: autoCompleteDataService.getSource(), //from your service
select: function( event, ui ) {
scope.foo= ui.item.label;
scope.$apply;
},
change:function (event, ui) {
if (ui.item === null) {
scope.foo = null;
}
},
minLength: 2
});
}
};
});
myapp.factory('autoCompleteDataService', [function() {
return {
getSource: function() {
return ['apples', 'oranges', 'bananas'];
}
}
}]);
这是问题......
所选项目进入输入框,但输入框旁边的foo变量未更新。
错误在哪里。
请建议......
答案 0 :(得分:2)
更改
scope.$apply;
到
scope.$apply(function(){
scope.foo= ui.item.label;
});