Tôi muốn làm như vậy:
ng-hide="!globals.isAdmin && mapping.is_default"
nhưng biểu thức đánh giá luôn false
.
Tôi không muốn xác định chức năng đặc biệt trên $scope
.
Tôi muốn làm như vậy:
ng-hide="!globals.isAdmin && mapping.is_default"
nhưng biểu thức đánh giá luôn false
.
Tôi không muốn xác định chức năng đặc biệt trên $scope
.
Câu trả lời:
Sử dụng phương thức điều khiển nếu bạn cần chạy mã JavaScript tùy ý hoặc bạn có thể xác định bộ lọc trả về đúng hoặc sai.
Tôi mới thử nghiệm (đáng lẽ phải làm điều đó trước), và một cái gì đó như ng-show="!a && b"
đã làm việc như mong đợi.
ng-show
/ ng-hide
chỉ chấp nhận boolean
các giá trị.
Đối với các biểu thức phức tạp, tốt nhất là sử dụng bộ điều khiển và phạm vi để tránh các biến chứng.
Dưới đây một sẽ làm việc (Nó không phải là biểu hiện rất phức tạp)
ng-show="User=='admin' || User=='teacher'"
Ở đây phần tử sẽ được hiển thị trong UI khi bất kỳ điều kiện nào trong hai điều kiện trả về true (thao tác OR).
Như thế này bạn có thể sử dụng bất kỳ biểu thức.
Điều này sẽ hoạt động nếu bạn không có quá nhiều biểu thức.
Thí dụ: ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
Đối với bất kỳ biểu thức hơn điều này sử dụng một bộ điều khiển.
This will work if you do not have too many expressions.
mặc dù tôi đồng ý rằng nó nên được thực hiện trong bộ điều khiển thay thế.
Tôi thường cố gắng tránh các biểu thức với ng-show và ng-hide vì chúng được thiết kế dưới dạng booleans, không phải là điều kiện. Nếu tôi cần cả logic có điều kiện và logic boolean, tôi thích đưa vào logic điều kiện bằng cách sử dụng ng-if làm kiểm tra đầu tiên, sau đó thêm vào một kiểm tra bổ sung cho logic boolean với ng-show và ng-ẩn
Howerver, nếu bạn muốn sử dụng một điều kiện cho ng-show hoặc ng-hide, đây là một liên kết với một số ví dụ: Hiển thị có điều kiện sử dụng ng-if, ng-show, ng-hide, ng-include, ng-switch
false
, bạn có thể muốn kiểm tra lại các giá trị đó. Có thể rằng "globals" và / hoặc "bản đồ" các đối tượng làundefined