Angularjs:不同路线的分页

时间:2014-01-17 09:25:22

标签: angularjs routing pagination

我一直在努力解决这个问题。我在我的主页上实现了分页,这很好用。我的主页上有一个搜索输入,它根据用户搜索返回产品。在控制器中,我将数据路由到不同的URL并使用$ rootScope传递数据。这也很好。但是分页在第二个路径中断,因为我的分页功能在家庭控制器中,我无法访问这些功能,即使用$ rootScope发布或复制所有功能也不起作用。此外,pagedItems在第二个路径中显示空数组,即使使用$ rootScope声明也是如此。以下是样本plunker

http://plnkr.co/edit/fIU2DZEVUc8HVUp7sgaF?p=preview

我的问题:

  1. 在AngularJS中编写可重用函数的位置以及如何在我的视图中使用它们。
  2. 假设我对问题的处理方法是错误的,那么实现此逻辑的最佳方法是什么。
  3. 非常感谢JSFiddle / Plunker示例。

    提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

在您的链接中search.html绑定到homeController,而您在路由设置中将其控制器指定为fpctrl。搜索的最佳方法是将结果作为参数传递给search.html,并将搜索输入框和按钮放在主页的ng-view之外。

如果您想编写可重复使用的功能,则必须在工厂或服务中编写它们。

答案 1 :(得分:0)

这可能是想要严格回答你的问题。您还会考虑$filter功能吗?为此,您需要将文本输入更改为:

<input type="text" class="input-medium" placeholder="product" ng-model="search">

然后您可以删除搜索按钮。并添加| filter:search以及元素的ng-repeat。

这里有点复杂但完整的示例http://jsfiddle.net/SAWsA/11/