AngularJS 路由有什么意义?

2023-12-09

我正在创建一个网站,我选择在 AJ 中进行。 我有两个文件夹:
网关 => 一些从 mysql 数据库检索数据并将数据作为 json 回显的 php 文件。
Views => 部分 html 文件,基本上是每个页面的模板。例如用户、项目等。

然后我有一个 index.js 文件来处理请求过程和路由:

angular.module('Index',['addon'],function($routeProvider,$locationProvider){
    $locationProvider.html5Mode(true).hashPrefix("!");
    $routeProvider.otherwise({
        templateUrl: '/views/index.html',
        controller: "index"
    }).when("/items/",{
        templateUrl: '/views/items.html',
        controller: "items"
    })
}).
controller("index",function($scope,$http){

    $scope.users = [];
    $http.get("gateways/list.php").
    success(function(d){
        console.log(d);
        if(angular.isArray(d)){
            $scope.users = d;
        }
    });

}).
controller("items",function($scope,$http,$routeParams){
    $scope.items = [];
    $http.get("gateways/single.php").
    success(function(d){
        if(angular.isArray(d)){
            $scope.items = d;
        }
    });

}).

除了优雅之外,AJ 的所有这些路线提供商还有什么意义呢? 难道他们不会因为请求数量而减慢网站速度吗? 我可以直接在模板文件中编写网关文件中的 php 代码吗? 我这样做的方式不对吗?


您可能没有意识到使用像 AngularJS 这样的框架的意义。它们主要用于单页应用程序和 ajax 密集型。首先,请求的数量并不会真正减慢应用程序的速度。还记得 Gmail 最初没有 Ajax 时的样子吗?它比当前的实施更快吗?

现在,当您构建单页应用程序时,应用程序将请求发送到服务器,服务器以 JSON 或 XML 进行响应。在 AngularJS 或任何其他框架中,服务器发送 JSON 响应,我们使用客户端模板或 DOM 渲染它们。这可以节省服务器端的大量资源,因为服务器不必解析数组并呈现模板。因此,如果服务器必须渲染一个有 100 行的表,发送到浏览器的带宽可能是 20KB,而只有 JSON 可能是 5KB,而字符串或 DOM 模板则需要 1KB 来进行渲染。因此,您实际上让访问者的浏览器完成了很多工作。这都是关于计算/计算的。想象一个统计表,其中有列和一些要在数据网格中呈现的计算值。使用客户端框架,您的服务器将仅响应 JSON,浏览器(使用 JavaScript)将解析、计算并在模板中呈现它。

至于使用routerProvider的问题,有必要添加书签并使用浏览器导航按钮。就像传统的 URL 有一个视图一样,客户端应用程序中的 URL 有一个视图,该视图应该可添加书签并且应该支持导航。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS 路由有什么意义? 的相关文章

随机推荐

  • 将 JSON 对象反序列化为嵌套 C# 对象

    Edit 我想我应该提到我无法控制 JSON 并且我知道通常我的 C 对象应该与 JSON 匹配 我的问题不是 为什么这不反序列化 我知道为什么不是 我问是否有一种方法可以按照我要求的方式反序列化 JSON 我正在使用 Newtonsoft
  • 将 for 循环转换为向量(向量化)

    对于那些超级专家 我想知道您是否看到一种快速方法将以下 for 循环转换为更有效的单行向量计算 Define A size n 1 B size n m C size n 1 B 2 200 3 300 4 400 C 1 2 1 for
  • 以下用于添加到内存引用的字节说明符在 NASM 汇编器中起什么作用?

    下面的代码 section data Snippet db KANGAROO section text global start start mov ebx Snippet add byte ebx 32 将 BX 中的内存地址所指的数字加
  • Swift 字符串文字赋值给 C 变量

    在 Swift 中 当调用 C 函数时 Swift 字符串作为参数传递时会自动强制转换为 CString 但是 在填写 C 结构体或全局变量时 我没有得到相同的行为 strlen swiftString Works CGlobalStruc
  • Asp.net mvc 多对多关系视图

    大家好 我创建了几个实现多对多关系的模型 现在我在正确格式化 设计 创建和编辑 视图时遇到问题 这是我的模型 学生模型 namespace HMS Models Table Students Schema Admission public
  • 使用 Cognito 用户池,而不使用 Cognito 联合身份(身份池)

    我只想使用 Cognito 用户池 因此我想将身份联合与 Cognito 用户池一起使用 而不使用 Cognito 联合身份 身份池 我已按照文档进行操作 但无法成功 http docs aws amazon com cognito lat
  • 如何使用 canvas 和 Kinetic.js 裁剪图像

    我的函数绘制一个图像 并使用 Kinetic js 在另一层上绘制另一个图像 但我想裁剪名为 smsTopBg image 的第二个图像 window onload function INITIALISATION var stage new
  • Android Google Drive API 异常:403 禁止

    我正在开发一个可以访问 Google Drive 上用户的 appdata 文件夹的应用程序 当我处于调试模式时 该应用程序运行良好 当我发布应用程序并尝试连接到 Google Drive 时 在选择要连接的帐户后 它会出现此错误 com
  • 如何从TSQL调用Web服务? (SQL 服务器 2000)

    我想从 SQL Server 2000 中的 TSQL 调用 Web 服务 我尝试使用以下代码 Declare Object as Int Declare ResponseText as Varchar 8000 Exec sp OACre
  • 在 Javascript 中打印 div 标签的内容而不使用弹出窗口

    我正在努力打印 div 标签的内容而不弹出窗口 我的代码现在看起来像这样 var DocumentContainer document getElementById print var WindowObject window open Co
  • 折叠 git 存储库的历史记录

    我们有一个有着悠久历史的 git 项目 具体来说 在项目早期 项目中有相当多的二进制资源文件 这些文件现在已被删除 因为它们实际上是外部资源 然而 由于之前已提交这些文件 我们的存储库的大小 gt 200MB 当前总签出约为20MB 我们想
  • Prolog 递归计算列表中的数字

    我需要一个程序来计算列表中的所有数字 无论它们嵌套得有多深 我能够在数字不在另一个列表内的情况下对数字进行计数 但通过深度嵌套元素进行递归是行不通的 到目前为止我有这个 count 0 count H Tail N count Tail N
  • 使用 Python 搜索 PDF 中的文本? [复制]

    这个问题在这里已经有答案了 Problem我试图通过搜索文本来确定文档的类型 例如诉状 信件 传票等 最好使用 python 所有 PDF 都是可搜索的 但我还没有找到使用 python 解析它并应用脚本来搜索它的解决方案 不需要先将其转换
  • 调整 nginx worker_process 以获得每分钟 10 万次点击

    我们有一台服务于一个 html 文件的服务器 现在服务器有 2 个 CPU 和 2GB 内存 从 blitz io 来看 我们每分钟获得约 12k 个连接 在 60 秒内有 200 个超时 每秒有 250 个并发连接 worker proc
  • unicodedata.digit 和 unicodedata.numeric 之间有什么区别?

    From 统一码数据 doc unicodedata digit chr default 返回分配给的数字值 字符 chr 作为整数 如果没有定义这样的值 则默认为 返回 或者 如果未给出 则引发 ValueError unicodedat
  • 从Python执行页面上的JS代码

    我的任务是使用 Python 从任何网页获取命名函数的列表 我有一个使用 JavaScript 编写的脚本 它满足我的需要 加载页面后 我可以从 JS 控制台运行脚本 例如 从 GoogleChrome 中的开发工具 我得到了函数名称数组作
  • 上传错误#2038

    每当我使用此脚本进行测试时 它在上传尝试时都会不断失败并给出错误 IO 2038我可以肯定地说的是它甚至永远不会到达 Upload ashx 的后端脚本 这告诉我脚本有问题 现在我正在我的测试机器上使用 localhost 执行此操作 ht
  • 使用 Swing 在窗格中选择文件

    我正在 Swing 中编写一个 GUI 我想在主窗口中创建一个文件选择器 如下图所示 虽然似乎有很多关于如何编写弹出文件选择器的教程 但我没有看到太多关于如何在 swing 中完成这种类型的选择器的信息 也很抱歉 如果之前有人问过这个问题
  • 如何延迟推送通知权限弹出窗口 Swift

    我正在开发一个带有推送通知的应用程序 我想延迟推送通知权限弹出的出现 直到用户第三次进入我的应用程序之后 所以他应该对我的应用程序感兴趣 然后我想征求他的许可 我有办法做到这一点吗 我搜索了很多方法 就像这里 重置应用程序的推送通知设置但我
  • AngularJS 路由有什么意义?

    我正在创建一个网站 我选择在 AJ 中进行 我有两个文件夹 网关 gt 一些从 mysql 数据库检索数据并将数据作为 json 回显的 php 文件 Views gt 部分 html 文件 基本上是每个页面的模板 例如用户 项目等 然后我