2012-02-10 27 views
5

Thông thường tôi đang ở trong thế giới jQuery, tôi phát triển một ứng dụng wep sử dụng requirejs, backbone.js và jquery.
Để mở rộng chân trời của tôi, tôi cũng bắt đầu sử dụng Dojo.
Trước khi tôi bắt đầu sử dụng Dojo, các câu lệnh mà tôi đã đọc trong một số blog liên quan đến jQuery là: "Nếu bạn tạo một trang web bình thường với một số hiệu ứng JS, bạn có thể sử dụng jQuery, nhưng đối với web công cụ ứng dụng bạn nên sử dụng Dojo ".
Vì vậy, vì lý do đó, khi tôi bắt đầu với Dojo (1.7), tôi đã sẵn sàng tìm hiểu các giải pháp phát triển ứng dụng web của mình.
Điều đầu tiên làm tôi ngạc nhiên là tôi không tìm thấy bất kỳ lớp cơ sở nào cho thành phần bộ điều khiển mvc. Trong backbone.js bạn có một cái nhìn cho điều đó (nhiều người nói rằng khung nhìn backbone.js là một bộ điều khiển), và điều này giúp ích rất nhiều.
Bây giờ, trong thành phần bộ điều khiển mvc của tôi, tôi muốn hiển thị chế độ xem. Tôi "tải" mẫu bằng cách sử dụng plugin văn bản amd. Để tạo khuôn mẫu đơn giản - tôi đã phát hiện ra - bạn có thể sử dụng dojo.string.substitute. Nhưng tôi nếu bạn muốn làm điều gì đó phức tạp hơn một chút, bạn không thể sử dụng nó.
Tôi biết rằng Rebecca Murphey, một người nói javascript nổi tiếng, đã kéo Mustache.js vào Dojo, khi cô ấy bắt đầu phát triển trong hệ sinh thái này.
Nhưng những gì các giải pháp Dojo do các lập trình viên ứng dụng web Dojo sử dụng khi chúng phải hiển thị danh sách với số dòng động và chúng muốn đạt được điều này bằng cách biểu diễn mẫu js?Giải pháp Dojo và templating

Trong biểu mẫu gạch dưới gạch dưới. Khi bạn muốn làm điều này, bạn viết một cái gì đó như sau trong template:

<div><%= lang_test %></div> <!-- static things --> 
<table> 
<% _.each(list, function(listitem){ %> 
<tr> 
<td><%= listitem.get('attr1') %></td> 
<td><%= listitem.get('attr2') %></td> 
</tr> 
<% }); %> 
</table> 

Thanks a lot
Wolfgang

Cập nhật:
Cảm ơn bạn, mkriheli, cho câu trả lời của bạn. Tôi cũng tình cờ gặp dojox.dtl!
Tôi nghĩ rằng tôi sẽ sử dụng điều này.
Bạn đã đề cập cách ưa thích của mình để xử lý đây là các tiện ích được tạo khuôn mẫu. Đó là điều rất thú vị, WIDGETS AS PAGE CONTROLLERS VỚI TEMPLATING!

1) Bộ điều khiển trang web API đầu tiên 2.0 MVC đầu tiên của tôi là một tiện ích con giao diện người dùng jQuery tùy chỉnh lớn. Tôi nghe nói rằng nhóm UI jQuery đang có kế hoạch tích hợp khuôn mẫu vào các widget của họ. Tôi đã từ bỏ nó sau khi chuyển sang jquery với backbone.js.

2) Theo như tôi biết và hiểu, Justin Meyer từ JavascriptMVC đã lấy phần nhà máy phụ tùng jQuery UI (phần cơ sở của các tiện ích UI của jQuery) và sử dụng nó trong khung làm bộ điều khiển trang.

3) Đánh dấu Wubben nói chuyện tại một Dojo Conf về khuôn mẫu: Ông nói:

Điều này dẫn đến một cách tiếp cận mới và thú vị để viết widget Dojo. Chúng có thể trở thành nhiều hơn như bộ điều khiển: xử lý các sự kiện DOM, triển khai logic ứng dụng và cập nhật một mô hình. Chế độ xem sẽ tự động phản ánh các thay đổi.

Trả lời

0

Tôi biết bạn muốn thứ gì đó mạnh mẽ hơn, nhưng đối với khuôn mẫu thay thế dựa trên rất đơn giản, bạn có thể sử dụng dojo/_base_lang/replace, rất giống với dạng dojox/dtl hoặc Mustache đơn giản hơn. Và có lợi ích khi không ở Dojox (và do đó không được hỗ trợ đầy đủ).

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