2016-03-31 17 views
1

Normal bileşenlerim ve şablonlar ile birlikte ember projemde önceden derlenmiş bazı gidon şablonlarını kullanmam gerekir. app.import() kullanarak ember-cli-build.js dosyamda önceden derlenmiş şablonları yükledim. Önceden derlenmiş şablonlar, uygulama bildirimi ve uygulama başlatma arasında Ember app.js dosyamda Ember.TEMPLATES["precompiled-template"] dosyasına eşleştirdiğim Handlebars.templates nesnesinde gösteriliyor.Ember 2 projesinde önceden derlenmiş Handlebars şablonlarını kullanmak

Ember.TEMPLATES nesnesini kontrol ettiğimde, önceden derlenmiş şablonlar, nesneler olan diğer şablonlardan farklı olarak function(context, options) formunun işlevleri olarak vardır.

Önceden oluşturulmuş şablonu kullanmaya çalıştığımda hiçbir şey görünmez. Düşüncesi olan var mı?

Düzenleme 1: Tüm yol şablonu değil, küçük ui şablonları hakkında konuşuyorum ve bağlayıcıları feda etmeye hazırım.

+0

Şablonları nasıl derlediniz? Ember-template-compiler.js dosyasının aynı sürümünü ember.js olarak mı kullandınız? – Gaurav

cevap

0

Gidon şablonlarını bir dizeye dönüştürmek ve bir belge parçası oluşturmak için yardımcı kullanmanın bir yolunu buldum.

import Ember from 'ember'; 

export function helper(data/*, hash*/) { 
    let precompiledTemplateFunction = Handlebars.templates[data[0]]; 
    return fragmentFromString(precompiledTemplateFunction()); 
} 

function fragmentFromString(strHTML) { 
    return document.createRange().createContextualFragment(strHTML); 
} 

export default Ember.Helper.helper(helper); 

kullanımı: {{helper 'precompiledTemplate'}}

ben yardımcı ama ben don aracılığıyla özniteliklerde geçen ele değil kor-cli-build.js dosyası app.import('vendor/path/to/precompiled/template');

şablonları aktarıyorum O kadar zor olacağını düşünmüyorum.

İlgili konular