我们可以同时使用吗
当然,您可以同时使用两者。根据您的应用程序要求,您的应用程序的哪些部分需要成为 spa 以获得更好的用户体验,以及哪些部分视图需要由您的 express 应用程序呈现。
如果我切换到 Express 路由,我还有 SPA 吗?
如果某个特定的路由不是由 Angular 处理的,并且您想通过 express 应用程序生成视图,您可以这样做。如果您想开发一个完整的水疗中心,那么您需要在您的 express 应用程序中开发一个 api(http 端点)来响应您的 angular 应用程序的 AJAX 请求。角度路由都是关于 clint 侧路由的,用于生成模板并从服务器(在您的情况下为 express)获取数据并呈现视图。在您对快速路由的所有角度路由调用以获取 json 数据或任何模板以给人一种水疗中心的印象
例子
我们有快递
app.get("/", function (req, res) {
res.render("home");
});
您的主页必须包含所有 Angular 脚本文件以初始化 Angular 应用程序
在你可以拥有的 clint 端代码中
var app = angular.module("myApp", ["ui.router"])
.config(function ($stateProvider, ) {
$stateProvider.state("home", {
url: "/"
})
.state("manas", {
url: "/manas",
templateUrl: "/templates/manas.html"
// when the state or url is manas its fetch the static manas.html from server and inject that to ui view
})
// i am using angular UI router here
可以同时使用吗?如何?这是好习惯吗?有什么好处吗?
是的,我们可以同时使用两者。这取决于您的应用程序逻辑,使用两者都没有害处或好处。
什么时候应该只使用其中一种?
仅当您更关心搜索引擎优化时才使用快速路由。因为 SPA 默认情况下对搜索引擎不友好,所以您需要采取一些额外的措施来使其对搜索引擎友好。
我将如何处理路由参数?
这取决于您使用的角度路由。我的意思是香草角度路由或 UI 路由。但两者的概念是相同的
传递参数
通过 UI 路由将参数传递给服务器
https://github.com/angular-ui/ui-router/wiki/URL-Routing#url-parameters
对于 UI 路由,请点击此链接
https://github.com/angular-ui/ui-router/wiki
如果您的应用程序不是更复杂,您就不会关心嵌套视图子视图等
我的建议是使用有角的普通路由。
毫无疑问,UI 路由器提供了更高级的路由概念,但学习曲线也很陡峭。如果您的应用程序本质上很简单,请使用角度路由