Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
Javascript $scope.$watch仅在UI引导下工作一次';s分页指令_Javascript_Angularjs_Pagination - Fatal编程技术网

Javascript $scope.$watch仅在UI引导下工作一次';s分页指令

Javascript $scope.$watch仅在UI引导下工作一次';s分页指令,javascript,angularjs,pagination,Javascript,Angularjs,Pagination,我尝试对我的角度项目进行分页,然后我决定遵循这个示例 http://plnkr.co/edit/81fPZxpnOQnIHQgp957q?p=preview 除了$scope.watch在第一次加载数据时只工作一次之外,其他一切都正常。 但在那之后,当我点击分页链接时,$scope.watch似乎什么都没做 这是我的js代码 $.ajax({ url: 'json/multipleOrder.json', //Server script to process data typ

我尝试对我的角度项目进行分页,然后我决定遵循这个示例

http://plnkr.co/edit/81fPZxpnOQnIHQgp957q?p=preview
除了$scope.watch在第一次加载数据时只工作一次之外,其他一切都正常。 但在那之后,当我点击分页链接时,$scope.watch似乎什么都没做

这是我的js代码

$.ajax({
    url: 'json/multipleOrder.json',  //Server script to process data
    type: 'get',
    beforeSend: function(xhr){

    },
    success: function(data){
      $scope.orderDetails = data;
      $scope.lastPage = data.last_page;

      $scope.orders = data.data
      $scope.getTotal = function(order){
          var total = 0;
          for(var i = 0; i < order.products.length; i++){
              var subtotal = order.products[i].subtotal;
              total += subtotal;
          }
          return total;
      }

      $scope.returnRowNumber = function(rowNumber){
          if(rowNumber === 0){
            return true;
          } else {
            return false;
          }
      }

      $scope.filteredTodos = [];
      $scope.currentPage = data.current_page;
      $scope.numPerPage = data.per_page;
      $scope.maxSize = 5;
      $scope.totalOrders = data.total;

      $scope.$watch('currentPage + numPerPage', function() {
        var begin = (($scope.currentPage - 1) * $scope.numPerPage)
        , end = begin + $scope.numPerPage;

        $scope.filteredOrders = $scope.orders.slice(begin, end);
        console.log('end scope watch');
        //Only printed once when the data was loaded
      });

      $scope.$apply();

    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert(XMLHttpRequest);
        alert(textStatus);
    }
});
$.ajax({
url:'json/multipleOrder.json',//用于处理数据的服务器脚本
键入:“get”,
发送前:函数(xhr){
},
成功:功能(数据){
$scope.orderDetails=数据;
$scope.lastPage=data.last_页;
$scope.orders=data.data
$scope.getTotal=函数(顺序){
var合计=0;
对于(变量i=0;i
这是我的指令和表格

<div class="pagination-box">
        <nav class="clearfix">
          <pagination 
            ng-model="currentPage"
            total-items="totalOrders"
            max-size="maxSize"
            boundary-links="false">
          </pagination>
        </nav>
      </div>

    <tr ng-repeat="order in filteredOrders">
            <th class="text-center">
              <span class="table-order-number">
                <strong>{{ order.id }}</strong>
              </span>
              <br>
              <span>{{ order.customer.name }}</span>
              <br>
              <br>
              <span>{{ order.estimated_pickup }}</span>
            </th>
            <td>
              <span ng-repeat="product in order.products">
                1 X {{ product.name }} <br>
                <span ng-repeat="extra in product.extras">
                  <span ng-repeat="item in extra.items">
                    -- ext {{ item }}
                    <br>
                  </span>
                </span>

                <br>
              </span>
            </td>
            <td>{{ getTotal(order) }}</td>
            <td>
              {{ order.customer.address.address1 }}
              <br>
              {{ order.customer.address.address2 }}
              <br>
              {{ order.customer.address.suburb }}
              <br>
              {{ order.customer.address.city }}
              <br>
              <br>
              <strong>
                <i class="icon ion-iphone" style="font-size: 24px;"></i> {{ order.customer.phone }}
              </strong>
            </td>
            <td>aaaa</td>
            <td class="text-center">
              <button class="button button-balanced order-bt" ng-click="togglePickupModal()">
                button-balanced
              </button>
            </td>
          </tr>

{{order.id}

{{order.customer.name}

{{order.estimated_pickup}} 1 X{{product.name}}
--ext{{item}

{{getTotal(order)} {{order.customer.address.address1}
{{order.customer.address.address2}
{{order.customer.address.PARTUBER}}
{{order.customer.address.city}

{{order.customer.phone} aaaa 按钮平衡
但是console.log('end scope watch')只打印一次。 当我点击“痛苦”链接时,什么也没发生。 我怎样才能解决这个问题


谢谢

我的猜测是,
currentPage+numPerPage
没有得到Angular的正确解释。检查传递给手表的参数是什么和/或只是作为测试观察
currentPage
。您可以创建一个执行
currentPage+numPerPage
的计算属性,并对其进行观察。我猜
currentPage+numPerPage
并没有得到正确的角度解释。检查传递给手表的参数是什么和/或只是作为测试观察
currentPage
。您可以创建一个执行
currentPage+numPerPage
的计算属性,并查看它。