【问题标题】:Ember.js linkTo helper doesn't load correspondant route and displays templateEmber.js linkTo helper 不加载对应的路由并显示模板
【发布时间】:2013-06-07 14:13:22
【问题描述】:

在尝试为另一个问题设置 jsfiddle 时 我问了here所以我遇到了以下问题:
我尝试加载应该通过 “索引”模板中的 {{linkTo}} 助手。但是当我点击链接时,我没有被重定向到“金额”模板,它只是停留在“索引”模板上并且什么都不做(所以我猜“金额”路线也没有加载)。
车把模板:

<script type="text/x-handlebars" data-template-name="index">
<h1>Conversion</h1>
<label>Conversion Factor:</label>
{{view Ember.TextField valueBinding="conversionFactor"}}
{{#linkTo "amounts" }}Show Amounts{{/linkTo}} 
{{outlet}}
</script>

路由器设置:

// Router
App.Router.map(function() {
this.resource('amounts', function() {
    this.route('new')
});
});

这是我第一次使用 jsfiddle,所以可能我配置错误。
我确信它不起作用有一个简单的原因,但到目前为止我无法弄清楚。
这是fiddle
任何提示都会很棒!谢谢!

【问题讨论】:

    标签: ember.js jsfiddle


    【解决方案1】:

    首先,在 Ember.Application.create 调用中设置 LOG_TRANSITIONS,如下所示:

    Ember.Application.create({
      LOG_TRANSITIONS: true  
    })
    

    然后查看控制台。这将为您提供有关正在发生的事情的更多线索。首先,我看到您需要定义一个 App.Store,否则对 model.find() 的调用将不起作用。

    App.Store = DS.Store.extend({});
    

    最新版本的 ember-data 不再有修订号,但早期版本有,因此在这种情况下,您必须提供修订号。

    您的金额控制器有一个错字,因此它可能也破坏了路线。 未捕获的 ReferenceError:未定义 EmberArrayController

    这是一个更新的小提琴,使它成为一个工作示例。 http://jsfiddle.net/Ttsmk/5/

    【讨论】:

    • 太棒了!非常感谢您的帮助并修复它!那么,从 ember-data revision: 12 开始,我们不再需要提供修订号了吗?这意味着在 1.0 之前不再有重大更改?也感谢 LOG_Transitions 的提示。从现在开始我将使用它。
    • 我相信最后的修订号是 13,但是你在使用最新的 ember-data 时不需要添加。它由版本控制处理。我不知道重大变化,ember-data 仍然非常活跃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多