抽屉未关闭,因为click事件发生在摘要周期之外,并且Angular不知道$scope.open已更改。要修复它,您可以在$scope.open设置为false后调用$ scope。$apply(),这将触发摘要周期。
$scope.toggleSearch = function () { $scope.open = !$scope.open; if ($scope.open) { $scope.$window.onclick = function (event) { closeSearchWhenClickingElsewhere(event, $scope.toggleSearch); }; } else { $scope.open = false; $scope.$window.onclick = null; $scope.$apply(); //--> trigger digest cycle and make angular aware. }};
这是你的小提琴。
我还尝试为搜索抽屉创建一个指令(如果有帮助的话(它需要一些修复:))。这是一个JSBin。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)