Ứng dụng góc sử dụng thuộc tính ng-click()
thay vì sự kiện onclick
.Tại sao chúng ta cần ng-click?
Tại sao điều này?
Ứng dụng góc sử dụng thuộc tính ng-click()
thay vì sự kiện onclick
.Tại sao chúng ta cần ng-click?
Tại sao điều này?
ng-nhấp chuột giữ biểu thức góc. Các biểu thức góc được đánh giá trong ngữ cảnh của Angular scope, được liên kết với phần tử có thuộc tính ng-click hoặc một tổ tiên của phần tử đó.
Ngôn ngữ biểu thức góc không bao gồm câu lệnh kiểm soát luồng và không thể khai báo biến hoặc xác định hàm. Những hạn chế này có nghĩa là các mẫu chỉ có thể truy cập các biến và các hàm chạy được cung cấp bởi một bộ điều khiển hoặc chỉ thị.
Góc không thay đổi ý nghĩa của thuộc tính onclick
; nó thêm thuộc tính ng-click
song song để lấy Angular expression. onclick
mất mã JavaScript cũ ngay cả khi bạn đang sử dụng Góc.
Thực tế, giả sử bạn đang làm gì trong trình xử lý nhấp đang thay đổi một số biến trong phạm vi Góc hoặc gọi hàm trong phạm vi Góc thay đổi một số biến. Để làm điều đó từ mã JavaScript (như những gì bạn sẽ đặt trong onclick
) đòi hỏi một loạt các bước
scope.$apply
để bất cứ điều gì theo dõi để cập nhật các biến mà bạn đã thay đổi được thông báonày trông giống như:
<a onclick="var $scope = angular.element(event.target).scope(); $scope.yourVar = 42; $scope.$apply()">Go</a>
và với ng-click
và một biểu kiễu góc cho nhiệm vụ, hầu hết trong số đó là tiềm ẩn:
<a ng-click="yourVar = 42">Go</a>
này nên là câu trả lời – alaboudi