如何在渲染管道之外使用模板

时间:2015-02-04 10:29:04

标签: ember.js handlebars.js ember-cli

我有一个事件,我需要将模板插入应用程序之外的空间。使用Ember-CLI,我们拥有所有这些精心预编译的模板,所以我试图找出如何使用它。

(Ember-CLI 0.0.42,Ember 1.7.0)

我发现我可以得到这样的预编译模板函数:

import TheTemplate from 'app/templates/the-template';

但是,如果我按照Handlebars网站上的说明调用它,我会收到错误。

var context = { button: "OK" };
var str = TheTemplate(context);

Uncaught TypeError: Cannot read property 'push' of undefined

那么使用这些模板的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

这个问题以不同的方式提出,可能已经得到了回答:

Compile Ember template string and running it programmatically, without an Ember application?

使用模板和视图,这样的东西似乎在另一个视图中起作用:

externalView = this.get("container").lookup("view:the-template");
externalView.setProperties({ button: "OK" });
externalView.appendTo($("#here"));

...然后记得稍后使用destroy()或destroyElement()。