【问题标题】:Emberjs template is not displayingEmberjs 模板未显示
【发布时间】:2024-01-15 10:27:01
【问题描述】:

我通过更新语法解决了几个路由器问题

我有以下的路由器

App.Router.map ->
  this.route('teams', {path: '/'})

应用程序模板会渲染

但里面是一个没有获得团队模板的出口

Ember.TEMPLATES["teams"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
  this.compilerInfo = [2,'>= 1.0.0-rc.3'];
helpers = helpers || Handlebars.helpers; data = data || {};



  return "<h1>I AM A TEST</h1>";
  });

鉴于我的路由器应该正确呈现模板?

【问题讨论】:

标签: ember.js


【解决方案1】:

是的,鉴于该路由器并假设您的应用程序模板中有一个 {{outlet}},团队模板应该呈现。

我根据您的代码创建了一个jsfiddle,在那里您可以看到团队模板正确呈现。

App = Ember.Application.create({});

App.Router.map(function() {
  return this.route('teams', {path: '/'});
});

Ember.TEMPLATES["application"] = Ember.Handlebars.compile("<h1>APP TEMPLATE</h1><hr/>{{outlet}}");

Ember.TEMPLATES["teams"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
  this.compilerInfo = [2,'>= 1.0.0-rc.3'];
  helpers = helpers || Handlebars.helpers; data = data || {};
  return "<h1>I AM A TEST</h1>";
});

必须猜测应用程序模板中的内容。

【讨论】:

  • 我想通了.. 为我是新手感到羞耻。我编译模板错误并使用 Handlebars.compile 而不是 Ember.Handlebars