当前位置: 首页 > 面试题库 >

角路线无限循环

微生城
2023-03-14
问题内容

由于某种原因,当我在路由中拥有动态属性并访问该页面时,我陷入了无限循环,该页面将不断请求自己。

.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider)
{
    $locationProvider.html5Mode(true);

    $routeProvider.when("/", {
        templateUrl: "pages/index.html",
        controller: "IndexCtrl"
    }).when("/listhome", {
        templateUrl: "pages/listhome.html",
        controller: "ListHomeCtrl"
    }).when("/profile", {
        templateUrl: "pages/profile.html",
        controller: "ProfileCtrl"
    }).when("/newlist", {
        templateUrl: "pages/newlist.html",
        controller: "NewListCtrl"
    }).when("/userlists/:id", {
        templateUrl: "pages/userlists.html",
        controller: "UserListsCtrl"
    }).otherwise({
        redirectTo: "/"
    });

我正在查看的路由是/ userlists /:id路由。该路由的控制器是-

TopTenApp.controller("UserListsCtrl", ["$scope","$routeParams", function($scope, $routeParams)
{
    console.log($routeParams);
    $scope.lists = [];
}]);

当我访问/ userlists / 9时,我看到-

Object {id: "9"}

每3秒被记录一次,页面冻结。只要位置后面有一个斜杠(“ / userslists /”而不是“ / userlists”),就好像发生了这种情况。

有人知道原因吗?


问题答案:

愚蠢的我,我意识到了问题所在。我想这很有意义,但是当页面深处有多个“目录”时,模板url必须在其前面加一个斜杠。

.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider)
{
    $locationProvider.html5Mode(true);

    $routeProvider.when("/", {
        templateUrl: "/pages/index.html",
        controller: "IndexCtrl"
    }).when("/listhome", {
        templateUrl: "/pages/listhome.html",
        controller: "ListHomeCtrl"
    }).when("/profile", {
        templateUrl: "/pages/profile.html",
        controller: "ProfileCtrl"
    }).when("/newlist", {
        templateUrl: "/pages/newlist.html",
        controller: "NewListCtrl"
    }).when("/userlists/:id", {
        templateUrl: "/pages/userlists.html",
        controller: "UserListsCtrl"
    }).otherwise({
        redirectTo: "/"
    });
}]);

希望这可以帮助其他有类似问题的人。



 类似资料:
  • 我已经写了这个生产者/消费者问题解决方案。它似乎在工作,而不是无限循环。我的印象是,pthread\u exit(NULL) 会让它停止,但老实说,我已经迷路了。有人能告诉我如何阻止循环的正确方向吗?

  • 问题内容: 我想在ng-repeat属性中调用函数,这是我的代码 示例plnkr html js 当我打开控制台时,我注意到了错误 我的代码的主要目标是在ng-repeat中使用函数来计算每个事件循环中的数据 问题答案: 找到了解决方案:

  • 问题内容: 我试图弄清楚为什么页面在单击时没有导航到其模板。URL更新,并且我没有JS错误。。我相信它 会加载 文件,但随后会无限加载控制器。我在SessionsController的实例化中添加了代码后,发现了这一点。 布局 我的看法 我的JS 在里面,我有个大而光明的人: 问题答案: 我唯一看到的是缺少括号和逗号。您可以尝试以下方法:

  • 我正在尝试编写一个线程,该线程将在我的主程序的后台运行,并监视某些内容。在某个时候,主程序应该向线程发出安全退出的信号。下面是一个以固定间隔将本地时间写入命令行的最小示例。 当“on”变量没有通过引用传递时,此代码会编译并产生预期的结果,只是线程永远不会终止。一旦变量通过引用传递,我就会收到编译器错误 您能建议一种修复此代码的方法吗? 额外的问题:哪里出了问题,为什么它可以与std::ref一起工

  • 问题内容: 我正在编写一个自定义Angular过滤器,该过滤器随机大写传递给它的输入。 这是代码: 我这样称呼它: 它可以工作,但是在我的控制台中,我看到了rootScope:infdig(无限摘要)循环。 我在理解为什么会发生这种情况以及如何解决此问题时遇到了一些麻烦。如果我理解正确,这是由于该函数调用了5个以上摘要操作。但是输入仅由过滤器调用一次,对吗? 任何帮助表示赞赏。 问题答案: 由于摘

  • 问题内容: 我有一个角度应用程序,它通过简单的表达式绑定显示由控制器方法返回的值: 如果所讨论的方法仅返回一个值,则该方法将被调用两次,这很奇怪: 但是,如果该方法执行一些异步工作,例如从服务器获取文件,则代码将进入无限循环: 我是Angular的新手,所以这里可能错过了一些基本的知识,但是有人可以解释一下发生了什么吗? 柱塞 这是一个与http://plnkr.co/7BriYDbdVJvIoI