大佬教程收集整理的这篇文章主要介绍了angularjs – $apply使用typeahead插件时已经在进行中错误(发现与ng-focus ng-blur相关),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<input type="text" placeholder="{{ $root.pg.t('HEADER.CITY_OR_POSTAL') }}" data-ng-focus="decideToStop();" data-ng-blur="decideToStart()" data-ng-model="search.SELEcted" typeahead-on-SELEct="search.LOCATIOnQuery(geo_LOCATIOns,search.SELEcted)" typeahead="LOCATIOn.name for LOCATIOn in getLOCATIOns($viewvalue) | filter: $viewValue | limitTo:8" class="semi-bold">
在控制器中:
$scope.decideToStop = function(){ if($scope.actionTimeout){ $timeout.cancel($scope.actionTimeout); $scope.actionTimeout = {}; } $scope.Myservice.CustomMethodThatDoesALotOfThings(); }; $scope.decideToStart = function(){ if(Customcatondition()){ $scope.actionTimeout = $timeout(function(){ $scope.Myservice.AnotherCustomMethodThatDoesALotOfThings(); },150); } };
$root.pg只是一个服务中的polyglot.js库,现在放在rootScope中.搜索是与位置搜索相对应的服务.
我在输入字段中更改城市时收到错误.我不知道如何调试这个……
app.directive('ngFocusAsync',['$parse',function($parsE) { return { compile: function($element,attr) { var fn = $parse(attr.ngFocusAsync); return function(scope,element) { element.on('focus',function(event) { scope.$evalAsync(function() { fn(scope,{$event:event}); }); }); }; } }; }]
)
如果您不想这样做,您可以获取该指令的内容并手动将其应用于您的元素,但由于该指令非常小,因此该指令更可取.当它在核心中得到修复时,您可以简单地替换所有声明.
请在此处查看示例:http://plnkr.co/edit/GBdvtN6ayo59017rLKPs?p=preview如果使用Ng-focus替换ng-focus-async,则在单击按钮时或在模糊第二个输入字段时将出现角度.
以上是大佬教程为你收集整理的angularjs – $apply使用typeahead插件时已经在进行中错误(发现与ng-focus ng-blur相关)全部内容,希望文章能够帮你解决angularjs – $apply使用typeahead插件时已经在进行中错误(发现与ng-focus ng-blur相关)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。