带有jquery自动完成的Angularjs不起作用



我正在尝试过去 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 变量未更新。

错误在哪里。

请建议...

更改

scope.$apply; 

scope.$apply(function(){
    scope.foo= ui.item.label;
});

最新更新