私はこの問題を解決したと思っていましたが、私は助けを提供してくれませんでした。
基本的には、私のスコープの原因となっているコントローラーとスコープに問題があります。$ watch()は、私が望んでいないときに呼び出されるようになっています。
私は、異なるコントローラとビューを使用して、ドロップダウンとページネーションタグを持つ角度表示(html)を持っています。 (form_item_Division.htmlは、単に部門のドロップダウンです)
<div class="panel panel-primary panel-shad-1" ng-controller="DashboardIEPItemDraftCtrl">
<div ng-include="'views/partials/form_item_Division.html'"></div>
<div ng-include="'app/dashboard/iep.html'" ng-controller="DashboardIEPItemDraftCtrl"></div>
</div>
マイiep.htmlは次のようになります:
<div ng-controller="DashboardIEPItemDraftCtrl">
<div ng-include="'app/dashboard/iepitem_table1.html'" ng-if="numberOfItemsByUserDivision > 0"></div>
<div class="col-xs-12 text-center" ng-show="totalNumberPages > 1">
<pagination items-per-page="itemsPerPage"
total-items="numberOfItemsByUserDivision"
ng-model="currentPage"
max-size="3"
boundary-links="true"
rotate="false"
class="pagination-sm panel-shad-1"
num-pages="totalNumberPages"
previous-text="‹"
next-text="›"
first-text="«"
last-text="»">
</pagination>
</div>
</div>
私iepitem_table1.htmlは定義
まず、私はこれを持っています別のコントローラの下にあります。それは次のようになります。私のスクリプトの
<table class="table table-condensed table-striped table-hover" ng-controller="IEPItemTableCtrl">
(table layout defined here)
</table>
関連部分を以下に示します。
$scope.getItemsBySelectedDivision = function (selectedDivisionId) {
blah.get({ count: true, filter: 'DivisionPerformingId eq ' +
selectedDivisionId }).$promise.then(
function (response) {
$scope.itemsByUserDivision.length = 0;
$scope.itemsByUserDivision = response.value;
$scope.numberOfItemsByUserDivision = response.value.length;
$scope.totalNumberPages = Math.ceil(response.value.length/
$scope.itemsPerPage);
var pagedData = $scope.itemsByUserDivision.slice(0,
$scope.itemsPerPage);
$scope.itemsByUserDivision = pagedData;
},
function (error) {
// Do something when it errors
});
};
$scope.$watch("currentPage", function() {
if ($scope.itemsByUserDivision != null) {
$scope.itemsByUserDivision = originalItems;
var pagedData = $scope.itemsByUserDivision.slice(($scope.currentPage -
1) * $scope.itemsPerPage, $scope.currentPage * $scope.itemsPerPage);
$scope.itemsByUserDivision = pagedData;
}
});
私はドロップダウンリストから部門を選択し、すべてがうまくているページネーションタグとページをスクロールするとき。しかし、複数のページを持つ部門のページをスクロールして戻って別の部門を選択すると、結果が正しく表示されません。これは$ scope($ scope())が呼び出されているからだと思います。このシナリオではコントローラを正しく配置していないと思います。いずれにしても、どんな助けでも大歓迎です。
おかげで、あなたが見ている変数の変化を比較することができ
ピート
こんにちはVEDは、私はこれを実行しようとしましたが、することができませんでした。少し具体的にお願いしますか? – Pete
あなたはまだ問題に直面していますか? – Ved