2010-05-28 21 views
6

Có cách nào để tự động chèn một phần mẫu (và nó hoạt động theo cùng một cách trong cả hai Ruby & Javascript)? Về cơ bản, tôi đang cố gắng hiển thị các loại đối tượng khác nhau trong một danh sách.Tự động hiển thị một phần mẫu bằng cách sử dụng bộ ria mép

Điều tốt nhất tôi có thể đưa ra là thế này:

<div class="items"> 
{{#items}} 
<div class="item"> 
    {{#is_message}} 
    {{> message}} 
    {{/is_message}} 

    {{#is_picture}} 
    {{> picture}} 
    {{/is_picture}} 
</div> 
{{/items}} 
</div> 

Tôi không siêu psyched về phương pháp này. Có cách nào tốt hơn không?

Cũng lưu ý rằng các loại mô hình khác nhau cho các chế độ xem có thể có các trường không tương tự. Tôi cho rằng tôi luôn có thể đi đến mẫu số chung thấp nhất và có băm dữ liệu chứa html, tuy nhiên tôi thích sử dụng các mẫu ria mép hơn.

+1

Bạn đã bao giờ tìm được giải pháp chưa? Tôi đang nghĩ đến việc gọi 'Mustache.render' bên trong một trong các phương thức logic và trả về kết quả. – Jeremy

+0

Vâng, đó là những gì tôi bắt đầu làm. Render một mẫu và chèn nó vào biến. –

Trả lời

1

tôi đã làm điều tương tự bạn đã làm, và đối với từng loại tài sản tôi cần một người một phần, tôi chỉ cần thiết lập một biến động năng động trong mô hình js dữ liệu đang được trả lại trong các mẫu ...

eval("this.set({is_" + this.get("propertyType") + ": true})") 

hoặc

this["is_" + propertyType] = true 

ít nhất tôi không cần phải thiết lập thủ công 'is_whatever' biến ...

Nó sẽ là tuyệt vời nếu mustache.js hoặc ICanHaz.js đã có một số cú pháp thông minh cho dy thuộc tính namic bên trong các thẻ ria mép ... có thể giống như sau:

{{>{{message}} }} 
Các vấn đề liên quan