2013-05-15 27 views
5

Tôi đang thử emblem.js ngay bây giờ. Đó là một wrapper thực sự tốt của Handlebars để viết các mẫu. Tuy nhiên, các tài liệu là một chút ember.js và handlebars.js phụ thuộc. Tôi muốn sử dụng Emblem.js mà không có Ember, nhưng không có lời giải thích thực sự về cách biên dịch mẫu.Biên dịch Emblem.js Không có Ember

Vì vậy, chúng tôi có thể sử dụng emblem.js mà không có ember (hoặc tốt hơn, không phụ thuộc vào Handlebars) không? Cách tôi đang thực hiện ngay bây giờ, tôi có chức năng này để hiển thị mẫu:

function render(target, tmpl, data) { 
    var source = tmpl.html(); 
    var template = Emblem.compile(Handlebars, source); 
    var result = template(data); 

    target.html(result); 
} 

Đó có phải là cách chính xác để biên dịch Biểu tượng không? Nó hoạt động, nhưng tôi có một cảm giác ruột rằng có một cách tốt hơn để làm điều đó. Trong Handlebars, dòng biên dịch khá giống:

var template = Handlebars.compile(source); 

Cảm ơn câu trả lời.

Trả lời

7

Bạn đang thực sự thực hiện chính xác.

Biểu tượng biên dịch xuống thời gian chạy Handlebars và do đó cần bạn chỉ định biến thể Handlebars nào bạn muốn biên dịch. Trong trường hợp của bạn, bởi vì bạn không muốn chức năng Ember, bạn sẽ muốn

Emblem.compile(Handlebars, source); 

Nếu bạn muốn hỗ trợ Ember, bạn sẽ cần phải sử dụng các biến thể Ember.Handlebars

Emblem.compile(Ember.Handlebars, source); 

tôi chắc chắn sẽ đảm bảo thêm công cụ này vào tài liệu.

+0

Cảm ơn! Lam ơn Lam. Các tài liệu không thực sự giải thích điều này chút, và tôi chắc chắn có những người khác đang bối rối về cách làm điều này, quá. – Henson

+0

Tôi đã làm việc với Emblem từ lâu về dự án Ember, nhưng trong công ty mới của tôi họ sử dụng Backbone, câu trả lời của bạn có nghĩa là Biểu tượng dứt khoát có thể được sử dụng mà không phải sử dụng Ember.js? – htatche

+0

@htatche có, chỉ cần sử dụng 'Emblem.compile (Handlebars, source);' thay vì biến thể Ember.Handlebars. –

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