Javascript EmberJS:定义控制器中断路由模式

Javascript EmberJS:定义控制器中断路由模式,javascript,ember.js,Javascript,Ember.js,我对Ember还比较陌生,我开始编写更复杂的应用程序。我一直试图弄明白为什么为索引定义控制器会破坏索引路由的模型总体 我尝试了“setupcontroller”功能,但仍然没有成功 这是路线代码: App.IndexRoute = Ember.Route.extend({ model: function () { return Ember.RSVP.hash({ //return promises for both models here feat

我对Ember还比较陌生,我开始编写更复杂的应用程序。我一直试图弄明白为什么为索引定义控制器会破坏索引路由的模型总体

我尝试了“setupcontroller”功能,但仍然没有成功

这是路线代码:

App.IndexRoute = Ember.Route.extend({
    model: function () {
        return Ember.RSVP.hash({ //return promises for both models here
            featuredJobs: $.getJSON('http://api.*********/featured/jobs', {'token': guestToken}),
            featuredEmployers: $.getJSON('http://api.********/featured/employers', {'token': guestToken})
        })
    }
});
当我添加
App.IndexController=Ember.Controller.extend({…
时,它会断开模型的{{{each}}助手。(不是应用程序)。我可以在Ember检查器中看到分配给路由的模型。以下是模板:

<div class="panel-body">
    <div class="list-group ft-jobs">
        {{#each featuredJobs}}
            {{#linkTo 'job' _id class="list-group-item"}}
            <h4 class="list-group-item-heading">{{title}}</h4>
            <p class="list-group-item-text">{{description}}</p>
        {{/linkTo}}

        {{else}}
        <p class="text-center">Sorry, no featured jobs are available.</p>
        {{/each}} //END OF SNIPPET

{{{#每一个特征都有}
{{{#链接到“作业”\u id class=“列表组项”}
{{title}}

{{description}

{{/linkTo} {{else}

抱歉,没有特色作业可用

{{/each}}//代码段的结尾
您的控制器需要扩展
ObjectController
,因为它由一个对象支持


我可能错了,但我认为IndexController需要是一个Ember.ArrayController,而不仅仅是Ember.Controller,因为它应该是一个JSON对象数组。这很有意义……谢谢,我明天会试试。如果可以的话,报告它的运行情况:)我也是Ember的新手,所以如果在添加控制器之前其他一切都正常,那只是我的第一直觉。@rogMaHall好吧,我的节点api反馈了一个json对象,所以kingpin2k的答案是正确的,但你的想法是对的。它现在起作用了。太棒了!是的,这很有道理,当我看到他的答案时,我马上就给他投了高票。我是就单个控制器处理多个json对象而言,您的答案解决了这个问题:PThank you@kingpin2k。此外,我不必在route中使用setupController函数。