2015-10-08 74 views
0

向右滑動時,我想進入博客列表的下一頁。在離子滑入右側導航到下一頁

我的看法是:

<p on-swipe-right="onSwipeRight()" ng-bind-html="blog.content"> {{blog.content}}</p> 

和控制器的功能是:

$scope.onSwipeRight = function() { 
    // Do whatever here to manage swipe left 
    //alert('Right swipped'); 
    .state('lab-components', {url: '/blog/:id'}) 
    } 

但是,這是行不通的。

回答

5

我不明白這是什麼意思:

.state('lab-components', {url: '/blog/:id'}) 

如果你想從一個國家轉移到另一個可以使用$state特別$state.go()

它需要在你的控制器被注入之前,你可以用它:

.controller('homeController', function($scope, $state) { 

    $scope.onSwipeRight = function (id) { 
     $state.go('blogdetail', { blogId: id }); 
    } 

}) 

正如你可以看到我已經通過了idonSwipeRight方法,所以我可以用它去其他國家將它作爲參數傳遞。

<p on-swipe-right="onSwipeRight(blog.id)">{{blog.content}}</p> 

也許你需要改變你的狀態,以及:

$stateProvider.state('blogdetail', { 
     url: '/blogdetail/:blogId', 
     templateUrl: 'blogdetail.html', 
     controller: 'blogdetailController', 
    }); 

正如你可以看到我用:blogId作爲parameter

必須我們在這裏所使用的名稱相匹配:

$state.go('blogdetail', { blogId: id }); 

,如果你想閱讀該參數在blogdetail控制器:

.controller('blogdetailController', function($scope, $stateParams){ 

    var id = $stateParams.blogId; 

}); 

$stateParams服務將幫你。它必須注入。

plunker可能會幫助你瞭解事情的工作原理。

+0

隨時評論,接受或upvote答案。乾杯。 – LeftyX