gpt4 book ai didi

AngularJs 无限循环

转载 作者:行者123 更新时间:2023-12-04 04:59:56 32 4
gpt4 key购买 nike

以下 index.html 页面会导致无限循环。重现:

  • 在(本地或远程)Web 服务器上下载下面链接的 github 项目(我已经在 plunker 上尝试过,但没有发生无限循环)
  • 从您的浏览器请求它。
  • 单击页面上的 p1p2 链接。

  • 无限循环开始。在服务器端,日志产生:
    server request for * handled
    GET /p1/p2 304 8ms
    server request for * handled
    GET /p1/partials/template1 304 4ms

    请注意 /p1前面 /partials/template1这里。那是从哪里来的?这导致了无限循环,因为 AngularJS 在这个 url 上找不到模板并因此进入循环。缩短此 /p1/p2 AngularJS 路由到 /p1以某种方式消除了问题。
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <script>document.write('<base href="' + document.location + '" />');</script>
    </head>
    <body ng-app="minimalApp">
    <p>Index Page That Contains ng-view below..</p>
    <div ng-view></div>
    <p><a ng-href="p1/p2">p1p2</p>
    <p><a ng-href="#">#</p>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.js"></script>
    <script>
    'use strict';
    var minimalApp = angular.module('minimalApp', []).
    config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider.
    when('/', {
    templateUrl: 'partials/template1',
    controller: IndexCtrl
    }).
    when('/p1/p2', {
    templateUrl: 'partials/template2',
    controller: T2Ctrl
    }).
    otherwise({
    redirectTo: '/'
    });

    $locationProvider.html5Mode(true);
    }]);

    function IndexCtrl($scope) {
    }

    function T2Ctrl($scope) {
    }
    </script>
    </body>
    </html>

    (我把 html 放在这里是为了方便,即使模板是通过 jade 创建的)

    我使用的服务器是 node/express。完整项目在github here .

    与嵌入模板相同的 html 页面是 here .

    最佳答案

    'partials/template1' 是相对于你所在的位置,所以当从 '/p1/p2' 调用时,浏览器假定你在目录 '/p1' 中并从那里构建路径。

    如果您添加前面的斜杠,如在 '/partials/template1' 中,这将始终从 webservers 根目录构建路径。

    关于AngularJs 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259890/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com