2013-02-04 8 views
36

Fire Up Ember.js screencast sử dụng partial, template, render để hiển thị mẫu trong mẫu, nhưng tôi vẫn không chắc mình biết sử dụng mẫu nào khi.Handlebars một phần so với kết xuất so với mẫu

Trong screencast cùng các partial được giải thích như sử dụng bối cảnh và tất cả dữ liệu liên quan đến bộ điều chỉnh dòng, trong khi render sử dụng phù hợp với mẫu bộ điều khiển được chỉ định, bối cảnh vv:

Fire Up Ember.js: partial versus Fire Up Ember.js

một người nào đó có thể vui lòng làm rõ sự khác biệt giữa partial, template, render và khi nào (ví dụ) sử dụng?

Trả lời

35

Con đường tôi hiểu nó, theo cách mà họ phá vỡ là như thế này:

"render" mang đến cho bạn một toàn bộ xem/controller/mẫu bối cảnh riêng của mình để làm việc với.

Ví dụ sẽ là điều hướng hàng đầu bao gồm các phần động. Nội dung sẽ được duy trì trong một TopNavController và được chèn vào mẫu ứng dụng bằng cách sử dụng "render"

"partial" sẽ chèn một mẫu, nhưng mẫu đó sẽ sử dụng ngữ cảnh hiện tại thay vì của nó. Một phần cũng là một phần mới hơn của khuôn khổ, có nghĩa là để thay thế bằng cách sử dụng mẫu ở một mức độ nào đó.

Ví dụ sẽ hiển thị danh sách người dùng và mỗi người dùng là một phần tương đối phức tạp trong danh sách (hình đại diện, tên, email, v.v.) bạn có thể lặp qua danh sách và chèn một phần dựa vào ngữ cảnh mỗi người dùng.

"mẫu" chỉ chèn mẫu bằng ngữ cảnh hiện tại. Tôi tin rằng nó không phải là phong cách tốt mặc dù sử dụng mẫu để render phần bên trong của một mẫu, bạn nên sử dụng "một phần" mặc dù mẫu sẽ làm việc theo cùng một cách cho hầu hết các trường hợp.

+1

Điều này rất hữu ích, cảm ơn. Bạn cũng có thể giải thích về sự khác biệt giữa '' '{{render}}' ''/'' '{{partial}}' '' và '' '{{view}}' '' và '' '{{control }} '' '? –

32

Điều này chart được đưa ra trong trang web của ember cho phép so sánh tốt giữa hiển thị, một phần và chế độ xem.

Đây là một hình ảnh đoạn so sánh được đưa ra trong trang web:

enter image description here

+4

Nó có thể không làm tổn thương để rút ra các đoạn liên quan đến câu hỏi của người đăng. –

+1

Tôi không thể nói với bạn bao nhiêu lần tôi đã đi qua câu trả lời này để có được biểu đồ đó. – mziwisky

0

Về phía khách hàng sử dụng bộ nhớ cái nào là tốt hơn, làm cho bộ hoặc một phần. Giả sử một phần sẽ tốt hơn khi ít đối tượng hơn