Javascript 在Ember 2项目中使用预编译的把手模板

Javascript 在Ember 2项目中使用预编译的把手模板,javascript,ember.js,handlebars.js,htmlbars,Javascript,Ember.js,Handlebars.js,Htmlbars,我需要在我的余烬项目中使用一些预编译的把手模板,以及我的普通组件和模板。我已使用app.import()将预编译模板加载到我的ember cli build.js文件中。预编译模板现在显示在handlebar.templates对象中,我将其映射到应用声明和应用初始化之间的我的Emberapp.js文件中的Ember.templates[“预编译模板”] 当我检查Ember.TEMPLATES对象时,预编译的模板作为表单函数(上下文,选项)的函数存在,这与作为对象的其他模板不同 当我尝试使用预编

我需要在我的余烬项目中使用一些预编译的把手模板,以及我的普通组件和模板。我已使用
app.import()
将预编译模板加载到我的
ember cli build.js
文件中。预编译模板现在显示在
handlebar.templates
对象中,我将其映射到应用声明和应用初始化之间的我的Ember
app.js
文件中的
Ember.templates[“预编译模板”]

当我检查
Ember.TEMPLATES
对象时,预编译的模板作为表单
函数(上下文,选项)
的函数存在,这与作为对象的其他模板不同

当我尝试使用预编译模板时,什么都没有显示。有什么想法吗


编辑1:我说的是小ui模板,而不是整个路线模板,我愿意牺牲绑定。

我找到了一种方法,可以使用助手将把手模板转换为字符串并创建文档片段

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);
用法:
{{helper'预编译模板'}}

我正在ember-cli-build.js文件
app.import('vendor/path/to/precompiled/template')中导入模板


我没有处理通过帮助器传入属性的问题,但我认为这并不难。

我找到了一种方法,可以使用帮助器将把手模板转换为字符串并创建文档片段

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);
用法:
{{helper'预编译模板'}}

我正在ember-cli-build.js文件
app.import('vendor/path/to/precompiled/template')中导入模板


我还没有处理过通过helper传递属性的问题,但我认为这并不难。

您是如何编译模板的?您是否使用了与ember.js相同版本的ember-template-compiler.js?您是如何编译模板的?您是否使用了与ember.js相同版本的ember-template-compiler.js?