2015-04-15 111 views
1

這是我遇到問題的特定視圖的控制器。

.controller('MenuCtrl', ['$rootScope','$scope','$state','$timeout','$ionicSlideBoxDelegate', 
function($rootScope, $scope, $state, $timeout, $ionicSlideBoxDelegate) { 
    $scope.state = { detail: false, selected: 0 }; 
    $scope.stateSwitch = function() { 
     $scope.state.detail = !$scope.state.detail; 
     $timeout(function() { $ionicSlideBoxDelegate.update(); }, 50); 
    } 
    $scope.activateSlide = function($index) { 
     $ionicSlideBoxDelegate.slide($index); 
    } 

這裏是視圖。

<ion-view left-buttons="leftButtons"> 
     <ion-content class="has-header" has-tabs="true" ng-show="!state.detail"> 
     <div class="list menu-list"> 
      <a class="item" ng-repeat="item in items" ng-click="stateSwitch();activateSlide($index)"> 
       ... 
      </a> 
     </div> 
    </ion-content> 
    <ion-content class="has-header padding" has-tabs="true" ng-show="state.detail"> 
     <div class="menu-detail"> 
      <ion-slide-box does-continue="true" show-pager="false"> 
       <ion-slide ng-repeat="item in items"> 
        ... 
       </ion-slide> 
      </ion-slide-box> 
     </div> 
    </ion-content> 
</ion-view> 

在點擊列表項,它觸發state.detail標誌,其切換所述視圖的菜單項的細節頁面。在菜單項詳細信息頁面中,我使用ion-slide-box,以便用戶可以對項目進行分頁。

當我沒有指定啓動哪個幻燈片索引時,這很好用。即使我選擇一個靜態數字來啓動滑塊,它也可以工作。但是,當我使用菜單列表的$index作爲參數來更改幻燈片盒上的活動幻燈片時,幻燈片框會將所有幻燈片一起打碎,並且它們沒有滑動功能。

甚至在更新幻燈片盒後,仍會發生這種情況。

我的使用方式$index有什麼問題嗎?或者,這可能不是動態設置活動幻燈片的預期方式嗎?任何意見,將不勝感激!

回答

0

你在你的函數$ scope.activateSlide使用控制器,而不$上指數

這裏的代碼爲我工作:

對HTML:

<h4 ng-repeat="type in view.menu.itens" ng-click="changeSlide($index)"></h4> 

我控制器

$scope.changeSlide = function funChangeSlide(index) { 
    $ionicSlideBoxDelegate.slide(index); 
    }