【问题标题】:{{link-to}} within {{each}} not removing old template in ember{{each}} 中的 {{link-to}} 未删除 ember 中的旧模板
【发布时间】:2014-02-13 20:51:53
【问题描述】:

从这个余烬开始,我似乎无法让车把中的 {{link-to}} 助手在循环 {{each}} 时按预期工作。

{{#each}}
  <h1>{{name}}</h1>
  <p>{{description}}</p>
  <p>{{#link-to 'cocktail' this}}more...{{/link-to}}
{{/each}}

我有一个导航栏(家、鸡尾酒、关于)和它下面的插座来渲染模板。

对于“/cocktails”路线,所有鸡尾酒都使用 {{each}} 循环遍历我的模型中的数组。每个鸡尾酒都有一个指向“/cocktails/:cocktail_id”的链接,它应该只显示一个鸡尾酒。

直接转到每条路线的行为符合预期,但使用鸡尾酒列表页面中的链接会呈现新模板,而不会删除鸡尾酒列表。

http://jsfiddle.net/tobias_g/Lxebv/

不知道这里缺少什么/发生了什么,感谢任何帮助。

【问题讨论】:

  • 刚刚意识到答案,但堆栈溢出直到 8 小时后才让我回答。原来它在 {{link-to}} 之后缺少关闭

    标记导致奇怪的行为。

标签: javascript ember.js handlebars.js ember-router


【解决方案1】:

虽然您缺少结束标记,但对我来说这仍然是一个错误。未关闭的 &lt;p&gt; 标记是有效的 html。即使使用自动关闭&lt;p /&gt;,它也可以做到这一点。我会在车把的issue tracker 上提交一个错误。

【讨论】:

    【解决方案2】:

    这是由于 {{link-to}} 之后缺少结束段落标记导致新模板呈现但之前的模板仍然存在。

    正如@zaius 建议的那样,我已向车把问题跟踪器添加了一个问题,供有兴趣了解此问题发生了什么的人使用。

    https://github.com/wycats/handlebars.js/issues/738

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多