1

我目前有这个模板

{{#each model}}
    {{#linkTo object this}}{{name}}{{/linkTo}}
{{/each}}

这创造了

<a href="path/#/objectid"/>

这不会导致模型重新加载,但会使用该 url 刷新页面。如何在我的模板中创建一个带有完整 URL 的链接?

<a href="path/objects/{{id}}">{{name}}</> 

不起作用,因为 {{id}} 似乎没有在引号内完全解析,所以我得到类似:

path/objects/<script id="metamorph-5-start....

我已经看到提示调整 setupController 的答案,但是如果我不想每次都重新加载模型怎么办?最好从模板方面对此进行控制,即在不需要重新加载时使用 {{#linkTo}} 并在需要重新加载时使用其他技巧。有没有一种简单的方法可以根据车把中的模型参数创建完整的 url?

4

2 回答 2

3

这可能不是您问题的完整解决方案,但对于这部分:

不起作用,因为 {{id}} 似乎没有在引号内完全解析,所以我得到类似:

有帮助:

<a href="path/objects/{{unbound id}}">{{name}}</>

使用unbound不会将脚本变形标记放在属性周围。

希望它可以帮助您解决问题。

于 2013-07-09T22:35:44.597 回答
0

我想通了 - 虽然没有更改 url,所以我仍然使用普通的{{#linkTo...}}.

如何重新加载 ember 数据记录中所述?, record.reload() 可以使用 - 它对我有用,如下所示:

App.ObjectRoute = Ember.Route.extend({
...
  setupController: function(controller, model) {
      var record = App.Object.find(model.id);
      record.reload();
      controller.set("model", record);
  },
});

如果使用修改后的 url 有一个简单的替代方案,我仍然有兴趣找出答案。

于 2013-07-10T15:50:03.877 回答