【问题标题】:Ionic side menu bar not hide properly离子侧菜单栏无法正确隐藏
【发布时间】:2015-08-26 04:44:09
【问题描述】:

我有一个 ion 菜单,其中包含 2 个链接、仪表板、收藏夹。

在第一次为带有内容的应用程序加载仪表板页面。现在当我切换到另一个菜单项时。在该侧菜单隐藏后,我的内容似乎首先填充。这会导致用户使用该应用的体验很差。

我们可以先隐藏侧边菜单然后再填充内容吗?

我也尝试了以下步骤

   <ion-list>
            <ion-item menu-close href="#/app/articles" ng-click="toggleLeft()">
              Dashboard
            </ion-item>
            <ion-item menu-close href="#/app/favourite" ng-click="toggleLeft()">
              Favorite
            </ion-item>

          </ion-list>

   $scope.toggleLeft = function() {
    $ionicSideMenuDelegate.toggleLeft();
  }; 

这也没有任何效果。

这是我的仪表板页面:-

    <ion-view>
  <ion-content>

            <ion-list can-swipe="true">
            <ion-item class="list article-list" ng-repeat="article in articles">
               my divs
            </ion-item>
            </ion-list>

  </ion-content>

</ion-view>

控制器是:

.controller('ArticleCtrl', function($scope, $rootScope ,articleService) {
  //This is fetching data from database  (**Sql lite**)
articleService.fetchArticles().then(function(articles){


                $rootScope.articles = articles;

}                 
});

不同控制器的收藏夹代码相似。

有什么建议吗?

谢谢

【问题讨论】:

  • 请发布您的 app.js 路由

标签: angularjs ionic-framework ionic


【解决方案1】:

这实际上是默认行为,但可以更改。 Ionic 提供了一些可以观看的事件,并且您可以控制何时做某事。在您的情况下,我只会在视图完全进入屏幕后填充 $scope。

$scope.$on('$ionicView.enter', function (viewInfo, state) {
    $scope.data = _getData();
});

所以基本上只有当视图完全可见时,您填充视图的数据才需要与 $scope 相关联。

编辑:

.controller('ArticleCtrl', function($scope, $rootScope ,articleService) {
  //This is fetching data from database  (**Sql lite**)

var _articles;
articleService.fetchArticles().then(function(articles){
    _articles = articles;
}

$scope.$on('$ionicView.enter', function (viewInfo, state) {
        $scope.articles = _articles;
});  
});

【讨论】:

    猜你喜欢
    • 2017-04-08
    • 2015-03-13
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多