1. 程式人生 > >ionic路由對於返回的處理

ionic路由對於返回的處理

對於ionic中使用的angular-ui-router,新建的一個帶有tabs的專案的路由結構如下

      .state('tab', {
        url: '/tab',
        abstract: true,
        templateUrl: 'templates/tabs.html'
      })
      .state('tab.home', {
        url: '/home',
        cache: false,
        views: {
          'tab-home': {
            templateUrl: 'templates/tab-home.html',
            controller: 'HomeCtrl'
          }
        }
      })

但是這樣的路由配置如果我們想要點選進入下級頁面的時候,在下級頁面即使在index.html中設定了<ion-nav-back-button></ion-nav-back-button>在下級頁面也不會出現返回按鈕,這是因為下級頁面跟上級頁面不在同一個<ion-nav-view></ion-nav-view>中,這樣不能共享歷史記錄,所以無法返回。

這時候就需要自己定義一個元件:

<ion-nav-buttons side="left">
  <a href="javascript:history.back(-1)" class="button button-icon icon ion-ios-arrow-thin-left" nav-direction="back"></a>
</ion-nav-buttons>
但是同樣如果index.html中的<ion-nav-back-button></ion-nav-back-button>依舊存在的話,這樣有可能在下級頁面中會出現有一個自定義的返回和一個<ion-nav-back-button></ion-nav-back-button>同時存在,所以這樣的方式並不可行。
通過傳引數進行跳轉的自定義方法:
<ion-nav-buttons side="left">
  <a class="button button-icon icon ion-ios-arrow-thin-left" ng-click="back()"></a>
</ion-nav-buttons>
在上一個頁面跳轉的時候傳遞一個引數:
$state.go('detail',{'back':'tab.home'});
$scope.back = function() {
  $ionicViewSwitcher.nextDirection('back');
  $state.go($stateParams.back);
};
或者記錄上級頁面路由採用
$scope.back = function() {
  $ionicViewSwitcher.nextDirection('back');
  $state.go('上級頁面路由');
};
這樣就不需要再傳遞上級頁面的路由引數。對於跨頁面的跳轉採用上面的方式更好,對於沒有跨頁面的跳轉就可以使用下面的方式。


相關推薦

ionic路由對於返回處理

對於ionic中使用的angular-ui-router,新建的一個帶有tabs的專案的路由結構如下 .state('tab', { url: '/tab', abstract: true, templateUr

ionic對系統返回鍵的處理

點選手機自帶返回鍵退出系統。 ap.js中需要依賴注入 $ionicPopup $rootScope $location $ionicHistory $ionicViewSwitcher $ionicPlatform.ready中使用 $ionicPlatform.registerBac

springMVC對於controller處理方法返回值的可選型別

簡介 對於springMVC處理方法支援支援一系列的返回方式: ModelAndViewModelModelMapMapViewStringVoid 具體介紹 詳細介紹每一個返回型別的各個特點; ModelAndView

react-native WebView 返回處理 (非回調方法可解決)

外部 log finish 既然 node div hang rec 代碼段 1.前言 項目中有些頁面內容是變更比較頻繁的,這些頁面我們會考慮用網頁來解決。 在RN項目中提供一個公用的Web頁,如果是網頁內容,就跳轉到這個界面展示。 此時會有一個問題是,網頁會有一級頁面,

python對於資料處理所會用到得一般操作

xlsx檔案轉為csv import pandas as pd#需要用到的包 import numpy as np#需要用到的包 path = "/home/public/GFQ/math_model/"#路徑 filepath_poi = path + "data.xlsx"#路徑+檔名 da

ionic v4 關於返回鍵監聽 (hardware back button)

android手機上的返回鍵,會自動的使路由後退。但少數時候我們可能不需要這個後退功能,希望自己監聽點選回退操作。 比如,想通過點選返回按鈕關閉一個modal,並且不想後退。 1.使用@HostListener 監聽ionBackButton事件 @HostListener('docume

IONIC頁面重複返回的問題

        IONIC在返回上一個頁面的時候,有可能會在兩個頁面之間進行重複返回,以下是解決方法 //跳轉頁面傳的引數 Gbd ,Dslst this.navCtrl.push('PrintPage', { 'Gbd': this.Gbd, 'Dsl

SQL對於 小數處理的小結

clas 數位 ima ceil color lar class floor code 1 DECLARE @digital INT 2 SET @digital = 2 3 4 --截斷小數位 5 SELECT CAST(CAST (15.33373

Spring Security中異常上拋機制及對於轉型處理的一些感悟

在使用Spring Security的過程中,我們會發現框架內部按照錯誤及問題出現的場景,劃分出了許許多多的異常,但是在業務呼叫時一般都會向外拋一個統一的異常出來,為什麼要這樣做呢,以及對於丟擲來的異常,我們又該如何分場景進行差異化的處理呢,今天來跟我一起看看吧。  一個登陸場景下的外層程式碼

Java伺服器部署基於OpenCV的C++影象處理專案(三)圖片上傳並返回處理

Java伺服器部署基於OpenCV的C++影象處理專案(三)圖片上傳並返回處理圖 1.上傳圖片並返回灰度圖功能 由於使用的springboot開發,直接寫一個upload介面供圖片上傳,以下是springboot主函式以及upload介面。 package com.e

用HBuilder來開發app的頁面返回處理

單頁面返回(要放在被返回的頁面中)最好是建一個js來存放這段程式碼,然後在頁面中引入 document.addEventListener('plusready', function() { var webview = plus.webview.curre

ajax呼叫WebMethed返回處理請求時出錯

ajax post呼叫WebMethed報錯,返回的資訊如下: {“Message”:“處理請求時出錯”,“StackTrace”:“”,“ExceptionType”:“”}   查了一下WebMethed裡的方法沒有問題,網上找了好久也沒有什麼解決方案。 後來自己發現可能是返回的json

Ionic基礎——ionic路由及內聯模板

<any ui-sref=".." nav-transition="..">...</any>目前支援的轉場方式有三種: android - android模擬ios - ios模擬none - 取消轉場動畫<!DOCTYPE html> <html ng-app="

django自定義序列化返回處理資料為null情況

在介面返回資料時,如果資料庫表中查詢出來的某些欄位為null時,在前端需要多處理一些資料異常的情況。 django可以自定義序列化返回處理,將返回的內容限制和預處理再返回到前端。 1.未處理時返回 如圖上,有email、mobile這兩個欄位是有可以為空且預設值為null的

【補充】關於ARM的PC指標異常返回處理(PC+8,PC+4,PC-4,PC-8情況)

要理解PC指標,首先就要好好了解LR指標連線暫存器LR(r14):用來儲存和恢復PC暫存器的內容,它有兩個特殊功能。    (1)儲存子程式返回地址。使用BL或BLX時,跳轉指令自動把返回地址放入r14中;子程式通過把r14複製到PC來實現返回,通常用下列指令之一:     

[非同步][事務][流程][設計]同步當場處理返回處理結果,非同步後如何返回. 如何解決?

先說說同步非同步的定義 所謂同步,就是在發出一個功能呼叫時,在沒有得到結果之前,該呼叫就不返回。按照這個定義,其實絕大多數函式或方法都是同步呼叫。 非同步的概念和同步相對。當一個非同步過程呼叫發出後,呼叫者不能立刻得到結果。實際處理這個呼叫的部件在完成後,通過狀態、

ionic入門教程第十九課-ionic路由詳解(state、route、resolve)

今天好好的跟大家講講ionic的路由配置。 問到的朋友有點多,因為這個內容比較多,所以我一直想等我多瞭解一些再出關於路由的教程。 但是有些很簡單的也有朋友不理解,所以我就提前出了這篇教程。 希望能對大家有點幫助,關於我遺漏的部分,後面再發教程補充吧。 但是基本的內容,簡單的

ionic雙擊返回鍵退出應用

.run(function ($ionicPlatform, $location, $ionicPopup, $ionicHistory, $rootScope, loginService, $state, $timeout) { ionic.Platform.

ionic路由理解

前言 最近公司在開發一款mobile產品,主管拍腦袋定下來要用ionic+angular開發,我能說我是剛來公司麼?算上上個月公司忙於寶馬展,我幹了一個月現場苦力,端茶倒水佈置展臺,帶著黃色的安全帽出入現場,不知道的還以為我是一包工頭呢?恩,扯淡的話咱就不提了,說實話拿到這

hql語句中like查詢 對於 / ' " % 的處理

jdk1.5 public List searchByParas(String authId, String resourceId, Integer state, Integer value, String description) { log.debug("fin