Nói rằng tôi có một mẫu mà hiển thị một cái nhìn dựa trên một tài sản:trì hoãn cắt bỏ một cái nhìn để nó có thể được hoạt hình
{{#if App.contentsAreVisible}}
{{view ToggleContents}}
{{/if}}
Khu vực này được chuyển bằng bất kỳ số lượng các phần khác của giao diện người dùng bằng cách thiết lập App.set("contentsAreVisible", [true/false]);
Tất cả đều hoạt động tốt.
Tuy nhiên, bây giờ tôi muốn tạo hoạt ảnh khi chế độ xem được bật. Hooking vào didInsertElement
hoạt động để tạo hiệu ứng hiển thị khu vực, nhưng tôi không thể làm tương tự trong willDestroyElement
vì phần tử bị xóa ngay khi hàm đó trả về, trước khi hoạt ảnh có cơ hội chạy.
App.ToggleContents = Ember.View.extend({
// this works fine
didInsertElement: function(){
this.$().hide().show("slow");
},
// this doesn't work
willDestroyElement: function(){
this.$().hide("slow", function(){
// animation is complete, notify that the element can be removed
});
}
});
Có cách nào để yêu cầu xem loại bỏ yếu tố khỏi DOM cho đến khi hoạt ảnh hoàn tất không?
Dưới đây là một fiddle với một ví dụ tương tác: http://jsfiddle.net/rlivsey/RxxPU/
Đó là một giải pháp tuyệt vời và nên làm việc rất tốt, cảm ơn. – rlivsey
Phương pháp _hideViewChanged không thực sự làm nhiều để giải quyết vấn đề ở bàn tay, phải không? – Rajat
Có trường hợp bạn muốn ẩn chế độ xem theo lập trình bằng cách đặt 'hideView' thành' true' ... – pangratz