Tôi có chỉ thị tùy chỉnh myDirective
thực hiện tác vụ trên một phần tử.Chỉ thị AngularJS trong ng-if sẽ không chạy
Tôi có chỉ thị này trong một khối ng-if
<div ng-if="condition">
<div my-directive></div>
</div>
Something như fiddle này: http://jsfiddle.net/hGnvv/ chỉ với điều kiện ng-if
quay sang đúng sau $http
yêu cầu của tôi được nạp.
Chỉ thị có thể được biên dịch trong thời gian chạy, nhưng không bao giờ được liên kết, vì vậy mã không bao giờ chạy. Nếu tôi thay thế ng-if
bằng ng-show
chỉ thị hoạt động tốt.
Bất kỳ giải pháp nào?
Chỉnh sửa: Tôi không thể sử dụng ng-show
vì tôi có 130 chỉ thị trong biểu mẫu. 20 chỉ thị vẫn chạy, và lệnh khác chạy theo kiểu đối tượng của tôi.
ng-if="type == 1"
sau đó tải các yếu tố nàyng-if="type == 2"
sau đó tải các yếu tố khác vv
Nếu tôi thay đổi ng-if
-ng-show
, hình thức mất 8s để tải thay vì 1s.
Bạn đã có một giải pháp.Thay thế ng-if bằng ng-show – nikhil
Tôi không thể làm điều đó, tôi có 130 chỉ thị trên một biểu mẫu duy nhất. Nếu tôi thay thế ng-if bằng ng-show, tất cả các mã này phải chạy biến dạng chậm hơn nhiều (8s thay vì ~ 1s). –
Sử dụng ng-show nếu có thể. Ng-nếu loại bỏ phần tử khỏi DOM, do đó không có cách nào để biên dịch nó. –