Angular JS - 快速路由

时间:2015-09-21 09:26:56

标签: javascript angularjs node.js express mean-stack

我正在运行带有快速路由请求的MEAN框架。我有public/app的两条主要路线。

APP是一个API,public是一组从API中读取数据的网页。

// Setting the app router and static folder
app.use(express.static(path.resolve('./public')));

我在公共文件夹中有两个控制器,主页和标题。

在家庭控制器中,我使用Angular JS来调用API并返回结果。

API允许通过使用查询字符串进行过滤:

$http.get('http://search?sumBoth=1&customer=' + customer)

我想按照

的方式建立一个特定于该控制器的路线

http://url/customers/CustomerName

CustomerName设置为客户变量

问题

a)最好用Angular还是Express? b)我在何处以及如何实施此类路由?

如果您需要更多信息,我希望这个问题很受欢迎,请评论

1 个答案:

答案 0 :(得分:0)

我了解$http.get('http://host/path?sumBoth=1&customer=' + customer)的回复是搜索结果的列表。在这种情况下,路径应该是一个收集路径,在路径中包含搜索项并不是最佳实践。子收集路径非常标准(类似于http://host/customers/search?params,但特定搜索词仍应包含在查询字符串中)

如果恰恰相反,您希望通过某个识别器检索一个结果(例如,客户名称是唯一的),这是一个不同的故事,您应该使用http://host/customers/:identifier

在任何情况下,您都可以使用角度资源,应用程序的两个部分都需要了解路由。在前端,您可以定义一个添加过滤器的附加动词(或者只使用标准query一个 - 请参阅https://docs.angularjs.org/api/ngResource/service/ $ resource)。在后端,您需要路由呼叫并解析参数。如果它是一个列表,则解析查询字符串并呈现结果数组,如果它是单个资源,则解析标识符,找到相应的资源并将其渲染回来。