2013-08-26 26 views
5

Có thể cho ember (cụ thể là mẫu ứng dụng) hoạt động bên trong thẻ head để tự động thay đổi những thứ như thẻ tiêu đề, thẻ meta, biểu định kiểu css bên ngoài và favicon không?Ember Handlebars Templates trong <head> tag

Nếu có, cách nào là cách làm sạch?

+1

Tò mò về điều này là tốt. Trong angular.js nó gần như đơn giản như ' ' – Donut

+0

bằng cách sử dụng nó đơn giản của nó, một cách đơn giản,' ' document.getElementsByTag ("head"). InnerHTML + = ""; 'điều này có thể đạt được với JavaScript nguyên do vậy tại sao phải dựa vào bất kỳ thư viện nào :) – MarmiK

+2

@MarmiK, anh ta đã yêu cầu một cách "sạch": P – albertjan

Trả lời

10

Để thực hiện công việc này, những gì tôi đã làm là tôi đã tạo người trợ giúp tay lái. Ví dụ: Nếu bạn muốn thay đổi tiêu đề cho các chế độ xem rất phổ biến, đây là trình trợ giúp.

Ember.Handlebars.helper('headTitle', function(title) { 
    Ember.$('head').find('title').text(title); 
}, 'title'); 

bây giờ trong bất kỳ xem mẫu mà bạn chỉ có thể thêm các helper

{{headTitle 'View Header'}} 

Dưới đây là JSbin để kiểm tra nếu làm việc của nó

+1

Có lẽ bạn nên sử dụng 'Ember. $'. Nhưng nếu không tốt đẹp hack. – albertjan

+0

đã chỉnh sửa câu trả lời của tôi như bạn đã đề xuất..Cảm ơn – thecodejack

+0

Liệu nó có cập nhật thẻ meta cho công cụ trang web xã hội như fb, twitter và google không? –

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