AngularJS等框架如何路由请求

时间:2017-07-20 03:28:45

标签: javascript angularjs routing routes

许多Web框架(如AngularJS)支持“路由”,用户可以访问该网站,并根据其请求URL显示模板。但是这些框架完全是前端JS,只是一个'脚本src'导入,所以它如何设法捕获所有对网站的请求,然后重定向到js文件进行处理等。

任何回复都表示赞赏,因为我一直试图弄清楚这些框架究竟是如何执行路由的“捕获”部分的,但没有运气。

1 个答案:

答案 0 :(得分:0)

让我给你一个简单的模型。

我们可以抓取当前的网址。然后我们可以打破那个字符串,我们可以用'/'分隔不同的部分。基于这个部分我们可以把条件放在哪个页面和要显示的数据上。当我们决定使用ajax加载我们想要的页面时。

例如我当前的网址是https://www.example.com/module我可以从此网址中获取“模块”,然后我可以加载到我的网页正文中

$('body').load('module.html');

以下代码来自我目前的工作。查看如何捕获不同的URL并将其路由到我的指定文档。我还从url获取数据以用于我的ajax请求等。

app.config(function($routeProvider) {
    $routeProvider.when("/", {
        templateUrl : "home.html"
    }).when("/logout", {
        templateUrl : "logout.html"
    }).when("/course/:id", {
        templateUrl : "course.html"
    }).when("/course/:courseId/assignment/:assignmentId", {
        templateUrl : "assignment.html"
    });
});