2012-03-19 28 views
5

Tôi rất mới để làm xương sống nhưng tôi quản lý để làm cho nó hoạt động từ hướng dẫn. Nhưng khi tôi muốn chuyển các ứng dụng đó vào bản mẫu xương sống, tôi thấy mình bị kẹt ở mẫu. Làm cách nào để truy cập vào mẫu của tôi từ mẫu của tôi? hoặc thậm chí từ tập tin js? Tôi thấy mình bị mắc kẹt ở đây một lúc rồi.Backbone Boilerplate Template

Backbone Boilerplate đề cập đến https://github.com/tbranyen/backbone-boilerplate

+0

Bạn có thể cung cấp một số chi tiết/đoạn mã cho biết mã nào không hoạt động không? – rfunduk

Trả lời

4

Đối với hầu hết các thư viện javascript khuôn mẫu, khuôn mẫu xảy ra trong hai giai đoạn.

  1. Vượt qua một chuỗi (thường chứa HTML) vào chức năng "biên dịch" của công cụ mẫu. Điều này trả về cho bạn một "chức năng mẫu", bạn có thể thực thi. Điều này chỉ cần xảy ra một lần cho mỗi mẫu cho toàn bộ thời gian của ứng dụng của bạn.
  2. Hiển thị mẫu thành đầu ra (thường là HTML) bằng cách gọi hàm mẫu được biên dịch và cung cấp "ngữ cảnh" dữ liệu sẽ có sẵn cho mẫu. Điều này có thể được thực hiện nhiều lần với dữ liệu ngữ cảnh khác nhau để xuất HTML khác nhau.

.

//Compile your template string into a function 
//Happens 1 time only then you can cache the function 
var templateFunction = _.template("<p>Your <%- part %> is so <%- description %></p>"); 

//Generate your output HTML with varying sets of data. 
var html1 = templateFunction({part: "nose", description: "big"}); 
//html1 has "<p>Your nose is so big</p>"; 
var html2 = templateFunction({part: "cat", description: "fat"}); 
//html2 has "<p>Your cat is so fat</p>"; 

Đây là ý tưởng cơ bản tương tự cho các mẫu gạch dưới, JST, ngọc bích và hầu hết các công cụ tạo khuôn mẫu khác. "Dữ liệu ngữ cảnh" là cách mẫu của bạn có quyền truy cập vào mô hình của bạn. Nếu bạn muốn, bạn có thể cho phép truy cập trực tiếp vào mô hình cơ bản bằng cách cung cấp ngữ cảnh như: {model: myModel};. Sau đó, trong mẫu của bạn, bạn có thể làm một cái gì đó như <%= model.get("displayName") %>.