2016-12-24 16 views
6

Tôi có một số plugin JQuery cần khởi tạo, thông thường điều này có thể được thực hiện bằng cách sử dụng $(document).ready(function() { }) nhưng điều này dường như không hoạt động khi thực hiện nó trong một thành phần vue created sự kiện. Với điều này trong tâm trí, tôi đã sử dụng this.$nextTick(function() { }) nhưng điều này dường như không làm việc với các yếu tố được giới thiệu trên thành phần con. Ví dụ, tôi làm điều này:Vuejs - Khi nào các plugin jquery được khởi tạo

created: function() { 
    this.$nextTick(function() { 
    window.materialadmin.AppOffcanvas.initialize() 
    }) 
} 

Tôi có một nút được giới thiệu trong một thành phần con nhưng handler onclick mã trên này gắn không kích hoạt. Nếu tôi làm:

setTimeout(function() { 
    window.materialadmin.AppOffcanvas.initialize() 
}, 1000) 

Sau đó, trình xử lý nhấp chuột của tôi sẽ bị ràng buộc và hoạt động.

Tại thời điểm nào là điểm chính xác để ràng buộc các sự kiện của tôi để tôi không cần phải dựa vào setTimeout bị hack?

Trả lời

3

mounted hoặc updatedLifecycle-Hooks nên giải quyết vấn đề của bạn khi được gắn kết được gọi sau khi trường hợp vừa được gắn kết nơi el được thay thế bằng vm mới được tạo và $ được gọi sau khi thay đổi dữ liệu làm cho DOM ảo trở lại -được vá và vá.

Các vấn đề liên quan