2015-04-22 19 views
11

Sau khi làm việc tốt vớiMeteor js mẫu render vs onRendered

Template.name.rendered = function() { ..... }

tôi đã thay đổi này để:

Mẫu. name.onRendered (function() { ..... })

nhưng tôi không có kết quả tương tự và tôi không thấy quá nhiều tài liệu về sự khác biệt, một số người ta sẽ giúp đỡ tôi xin vui lòng? hoặc ai đó biết tôi có thể thấy sự khác biệt ở đâu?

+0

Bạn có thể mô tả thêm một chút về hành vi khác nhau mà bạn đang trải qua không? –

+0

Nó giống như trong onRendered dữ liệu không đến ngay khi kết xuất, tôi phải làm mới để có dữ liệu chính xác, nhưng có lẽ tôi đang sử dụng một cách sai (vì api đã thay đổi), tôi muốn thấy sự khác biệt ở một số nơi, nhưng tôi không tìm thấy quá nhiều tài liệu về điều đó: ( –

+0

Không có sự khác biệt giữa 'rendered' và' onRendered', nó được cho là cùng một API chính xác. – saimeunt

Trả lời

16

Trong Meteor 1.0.4 rendered đã phản đối và thay thế bằng onRendered:

Thêm onRendered, onCreated, và onDestroyed phương pháp để Template. Các nhiệm vụ cho Template.foo.rendered và vv không được chấp nhận nhưng vẫn được hỗ trợ cho khả năng tương thích ngược. Nguồn: History.md

Nếu bạn thấy "sai" hành vi khi sử dụng onRendered hãy chắc chắn rằng bạn đang sử dụng Meteor 1.0.4 hoặc mới hơn.

+0

Tôi đang sử dụng Meteor 1.2.1 và onRendered chỉ đơn giản là không cháy, trong khi kết xuất không: ( –

+3

Hi @ PredragStojadinović, tôi đã tìm thấy cùng một vấn đề.Với onRendered nó chỉ đơn giản là không làm việc. Tôi đang sử dụng một chuỗi các collection.find gọi và cập nhật DOM bằng jquery. Khi kết xuất nó hoạt động rất đẹp, sau đó tôi đã tìm thấy lỗi của mình ... Tôi đã chnaged đến Template.name.onRendered = function() {.....}, chỉ thay đổi được hiển thị cho onRendered, thay vì sử dụng nó như một cuộc gọi lại như Template.name.onRendered (function() {.....}). Không sử dụng "=". Sau khi sửa nó, nó bắt đầu hoạt động tốt. – Juliomac