【问题标题】:Back button when reloadOnSearch:falsereloadOnSearch 时的返回按钮:false
【发布时间】:2013-09-23 23:48:11
【问题描述】:

我有 ngView 和三个 ngIncluded 视图:搜索过滤器、产品、分页。我想:

  1. 过滤产品而不重新加载整个页面只是产品视图
  2. 向网址添加过滤器,例如。 ?category=shoes
  3. 能够使用返回和下一步按钮

我在$routeProvier.when 中设置了reloadOnSearch: false。现在,当我调用 $location.search() 函数时,url 发生了变化,但页面没有重新加载。这就是我想要实现的目标,但是当我单击后退按钮时,产品不会重新加载到之前的状态。唯一发生的事情是 url 的变化。问题是在这种情况下如何处理返回和下一步按钮事件?

【问题讨论】:

    标签: javascript jquery angularjs


    【解决方案1】:

    如果您执行 reloadOnSearch:false,则使用相同的控制器实例,并且任何后退都不会重新加载任何控制器或相关视图。您需要响应在这种情况下引发的 $routeUpdate 事件。请参阅 $route documentation 关于此。

    $scope.$on('$routeUpdate',function(e) {
       // Code to handle the route change.
    });
    

    【讨论】:

      【解决方案2】:

      您必须手动处理所有事情。这意味着当您按下返回或下一步按钮时,您必须回到使用 $location 的状态。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-12
        • 2021-05-14
        • 1970-01-01
        • 1970-01-01
        • 2013-02-12
        • 2012-07-14
        相关资源
        最近更新 更多