我只是简单地解释一下我想做什么,看看你有什么建议。我有一个api / articles的REST端点,它返回所有文章(使用Ember Data)。文章有作者,并且假设我已经撰写了几篇文章,并想在我的模板中翻转一个开关,以查看所有文章或只看我的文章。
由于模板应该具有完全相同的布局,我的API和路由器应该如何设置来处理这种事情。显然,我希望避免基本上重复“文章”和“myarticles”路由和端点的可维护性。我只是不确定如何有效地切换端点,或者是否应该以某种方式嵌套以使整个问题消失。
答案 0 :(得分:1)
您可以使用查询参数来实现此目的。
让我们假设您的端点是
/api/articles?author=all returns all articles
和
/api/articles?author=Mike returns articles of Mike.
在Route#模型中,您必须根据查询参数调用终点。
示例jsbin:http://jsbin.com/yijahe/1
如果你的终点没有查询功能,即(终点是/ api / articles)。然后按照Ember Doc http://emberjs.com/guides/routing/query-params/的建议进行操作,即从终点获取Route#model中的所有文章,然后根据Controller中的作者名称过滤文章。
示例jsbin:http://jsbin.com/hihexo
P.S:我这里没有使用Ember模型。