Ember CLI - 用于非常基本的下拉列表的自定义路由

时间:2015-04-17 14:44:11

标签: ember-cli

ember和ember cli的新手,除了jQuery(不是框架)之外没有任何基于JS的框架经验

与Angular中的工作相比,我发现自己一开始就陷入困境,

我有一个关于REST api` http://localhost:8000/api/groups'的静态组列表,那里只有8个项目,我需要将它们显示为搜索条件的下拉列表。没什么好看的

我开始创建一个名为groups的路线和模型但是app停止了工作,我必须为group创建一个与groups模型相同的模型,只有下拉菜单2项

现在我的余烬应用http://localhost:4200/groups中有一个我不需要的网址,我不希望它在那里,

但是我忽略了它,不得不创建一个城市的下拉列表,api是

http://localhost:8000/api/cities <-- All cities list, needed for admin
http://localhost:8000/api/cities/active <-- For clients to show active cities so they can add their records
http://localhost:8000/api/cities/filled <-- For users, to show them where clients are available

所以在ember中,我为cities创建了一个路径和模型,并将同一模型复制为city只是为了显示下拉列表中的城市列表,我需要显示已填充的城市,我创建了ember g route city/filled并创建了文件夹,但其模型也与其他两个模型相同。

Ajax调用未发送到city/filled网址,现在我最终有了

http://localhost:4200/cities // useless for me
http://localhost:4200/cities/filled //useless for me

并且在填充中我看到ajax调用,但是http://localhost:8000/api/cities两次,加载相同的数据。我尝试在我的应用程序中添加一个下拉列表,并在浏览器中打开http://localhost:4200/cities/filled,并且,它将ajax调用发送到同一个URL 3次,一个用于application.hbs,一个用于cities.hbs,一个用于city / filled。如果在单个请求中已经从相同的URL中提取了相同的数据,为什么要加载3次?

在角度我只是调用一个自定义网址,我可以得到数据,但是为了实现它很难抓住这些小东西并且没有任何帮助

1 个答案:

答案 0 :(得分:1)

activefilled是您的城市资源的过滤器,这些不是独立资源,因此您应该尝试将它们用作查询参数。喜欢

http://localhost:8000/api/cities?type=filled
http://localhost:8000/api/cities?type=active

Facebook将此样式用于查询参数。您还可以使用查询参数来获取资源的分页数据,例如第一页和每页25条记录,请求将如下所示:

http://localhost:8000/api/cities?page=1&records=25