Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 构建用于服务器端筛选和分页的角度应用程序_Angularjs_Ionic Framework_Filter_Pagination_Angular Ui Router - Fatal编程技术网

Angularjs 构建用于服务器端筛选和分页的角度应用程序

Angularjs 构建用于服务器端筛选和分页的角度应用程序,angularjs,ionic-framework,filter,pagination,angular-ui-router,Angularjs,Ionic Framework,Filter,Pagination,Angular Ui Router,tl;博士 构建angular应用程序的最佳方法是什么?该应用程序支持在服务器端使用客户端的单选按钮过滤器进行过滤和排序 应用程序的上下文: 我有一个示例电影列表应用程序,其中电影有流派和风格来分类。它们可以根据名称、评级、发布年份进行分类。后端非常清楚,我以查询参数的形式将过滤器传递到url,返回数据并处理分页。我从客户端创建url并将字符串参数附加到它。然而,我在客户端尝试了一些过滤器和排序的实现,但并不满意。每个实现都涉及使用过滤器的单选按钮。我使用了以下方法 使用的方法: 根据电影的类型

tl;博士 构建angular应用程序的最佳方法是什么?该应用程序支持在服务器端使用客户端的单选按钮过滤器进行过滤和排序

应用程序的上下文:

我有一个示例电影列表应用程序,其中电影有流派和风格来分类。它们可以根据名称、评级、发布年份进行分类。后端非常清楚,我以查询参数的形式将过滤器传递到url,返回数据并处理分页。我从客户端创建url并将字符串参数附加到它。然而,我在客户端尝试了一些过滤器和排序的实现,但并不满意。每个实现都涉及使用过滤器的单选按钮。我使用了以下方法

使用的方法:

  • 根据电影的类型和风格创建一些过滤器,单击一个单选按钮时启动事件,在事件中传递过滤器单选模型。侦听movieListDirective中的事件,然后创建url,然后触发服务器调用

  • 创建筛选器并在服务中传递数据,每当单击单选按钮时启动事件。侦听事件并从服务接收数据。创建url并启动服务器调用

  • 尚未使用此方法,但正在考虑尝试 单击单选按钮,以查询参数的形式在浏览器url中推送数据。侦听指令中的url更改事件并触发服务器调用

  • 我也在考虑使用UI路由器。为过滤器和排序按钮创建抽象状态。将movieListDirective放入子状态

    我只是对我的两种方法不满意,认为还有很大的改进空间。任何人都可以提出一个非常可扩展的方法,或者改进我正在使用的现有方法。提前谢谢


    **我用的是离子型的。我想利用拉刷新和无限滚动功能的优势。这些必须放在离子含量指令中。因此,所使用的方法应该满足这一要求**

    好吧,如果我是你,我会在我的
    $scope
    中更改一个变量,并通过过滤器再次监听它的更改请求

    我是来帮你的。

    在这个Plunker中,我将
    ng型号
    添加到我的
    单选按钮
    。选择这些单选按钮后,它们将使用其
    值更改我的变量

    <input type="radio" value="new" ng-model="area">
    
    此函数使用
    $scope.area
    $scope.category
    的值发出请求。更改其值,即更改请求


    这正是您需要的功能。

    请添加一些代码。到目前为止,您尝试了什么?我无法在这里添加代码。它太大了。我尝试过的是使用单选按钮和指令创建过滤器来列出电影。获取电影的URL基于过滤无线电模式。请创建plnkr。Plnkr允许您添加大量代码:)您请求的Plunk为什么不在指令中使用回调参数而不是事件?您可以从angular文档中获取示例:
    $scope.$watch('area', function() {
        $scope.requestAPI($scope.area, $scope.category);
    });