我正在创建一个网站,我选择在 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(使用前将#替换为@)