ฉันมีเหตุการณ์คลิกที่เกิดขึ้นนอกขอบเขตของคำสั่งที่กำหนดเองดังนั้นแทนที่จะใช้แอตทริบิวต์ "ng-click" ฉันใช้ jQuery.click () listener และเรียกใช้ฟังก์ชันภายในขอบเขตของฉันดังนี้:
$('html').click(function(e) {
scope.close();
);
close () เป็นฟังก์ชั่นง่าย ๆ ที่มีลักษณะดังนี้:
scope.close = function() {
scope.isOpen = false;
}
ในมุมมองของฉันฉันมีองค์ประกอบที่มี "ng-show" ถูกผูกไว้กับ isOpen ดังนี้:
<div ng-show="isOpen">My Div</div>
เมื่อตรวจแก้จุดบกพร่องฉันพบว่ามีการเรียกว่า close () isOpen กำลังได้รับการอัปเดตเป็นเท็จ แต่มุมมอง AngularJS ไม่ได้อัปเดต มีวิธีที่ฉันสามารถบอก Angular ให้อัปเดตมุมมองด้วยตนเองได้หรือไม่ หรือมีวิธี "เชิงมุม" มากขึ้นในการแก้ไขปัญหาที่ฉันไม่เห็นหรือไม่