Vì hành vi bạn muốn thường thay đổi từ trang này sang trang khác - đây là những gì tôi đang làm trong tệp bố cục/mẫu của tôi (ASP.NET).
<div class="ko-unbound" data-bind="css: { 'ko-unbound': false, 'ko-bound': true }">
@RenderBody()
</div>
Khi trang web được ràng buộc:
ko-unbound
lớp được xóa khỏi trang (ban đầu thêm với class
thuộc tính).
ko-bound
lớp học được thêm vào trang.
Sau đó, trong một trang có nội dung không mong muốn, tôi có thể tùy chỉnh css để hiển thị hoặc ẩn mọi thứ dựa trên hai lớp này. Tôi cũng sử dụng kỹ thuật này để hiển thị hình ảnh 'tải' hoặc có thể áp đặt chiều cao tối thiểu cho một phần tử.
.ko-unbound #storeWizard
{
display: none; // hide entire section when the page is binding
}
.ko-bound #loadingGraphic
{
display: none; // hide loading graphic after page is bound
}
Trong khi thử nghiệm, khi áp dụng các ràng buộc Tôi thêm thời gian chờ để tôi có thể nhìn thấy flash.
setTimeout(function()
{
ko.applyBindings(RR.VM);
}, 300);
Nguồn
2015-02-08 06:22:10
Tôi thích điều này tốt hơn giải pháp của Tom vì nó chỉ dựa vào loại trực tiếp để bỏ ẩn HTML. – Tyrsius
chính xác những gì tôi đã kết thúc làm (sau đó kiểm tra lại ở đây và cùng một giải pháp; S) – shenku
Giải pháp rất tốt thực sự! Cảm ơn. –