【问题标题】:How to navigate from one template to another in Ionic如何在 Ionic 中从一个模板导航到另一个模板
【发布时间】:2016-02-11 19:07:47
【问题描述】:

我的应用有两种模板。第一个用于“退出”页面,第二个用于“登录”页面。

下面是所有“已注销”模板页面使用的 index.html:

<!DOCTYPE html>
<html ng-app="appLoggedOut">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title>Services 4 Uber</title>

    <link href="lib/ionic/css/ionicons.min.css" rel="stylesheet" >
    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <script src="lib/ionic/js/ionic.bundle.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
    <link href="css/ionic.app.css" rel="stylesheet">
    -->

    <script src="js/loggedout/app.js"></script>
    <script src="js/loggedout/controllers.js"></script>
    <script src="js/loggedout/routes.js"></script>
    <script src="js/loggedout/services.js"></script>
    <script src="js/loggedout/directives.js"></script>

    <link href="css/app.css" rel="stylesheet">

  </head>
  <body>
    <div>
        <div class="spacer" style="width: 300px; height: 15px;"></div>
        <ion-nav-view></ion-nav-view>
    </div>
    <div class="bar bar-footer bar-dark">
        Footer for Logged out pages
    </div>    
  </body>
</html>

我需要将所有“登录”页面设置为显示页眉和不同的页脚。所以,就像我有另一个 index.html,仅用于“登录”页面。

以下是我想要用于所有“登录”页面的内容:

<!DOCTYPE html>
<html ng-app="appLoggedIn">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title>Services 4 Uber</title>

    <link href="lib/ionic/css/ionicons.min.css" rel="stylesheet" >
    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <script src="lib/ionic/js/ionic.bundle.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
    <link href="css/ionic.app.css" rel="stylesheet">
    -->

    <script src="js/loggedin/app.js"></script>
    <script src="js/loggedin/controllers.js"></script>
    <script src="js/loggedin/routes.js"></script>
    <script src="js/loggedin/services.js"></script>
    <script src="js/loggedin/directives.js"></script>

    <link href="css/app.css" rel="stylesheet">

  </head>
  <body ng-controller="homeCtrl">

    <div class="bar bar-header bar-light">
        Header used only in logged in pages
    </div>

    <div>
        <ion-nav-view></ion-nav-view>
    </div>

    <div class="bar bar-footer bar-dark">
        Footer for logged in pages
    </div>    

  </body>
</html>

如何定义我的路由,从我的登录页面(使用“注销”模板)跳转到登录页面(使用“登录”模板)?

我想更改所有页面,而不仅仅是在标签“”内加载视图。

谢谢。

【问题讨论】:

  • 我认为您不了解 ionic 的工作原理。我很抱歉,但你的方法没有任何意义。您只需要 一个 index.html 并且您的内容由 ionic/angularjs 呈现,具体取决于您的 "states"/"templates",例如登录/注销。查看ionic starting page 上的模板并尝试为您调整...
  • 嗨,我了解离子作品。我的疑问很简单。我需要:使用 的 index.html 第一页和带有视图内容的模板。在其中,一个链接跳转到第二页。在这第二页中,我需要一切不同的东西。我不想使用 index.html。我想使用另一个带有标签 的页面(另一个主页)和另一个带有视图内容的模板页面。我不想只使用 index.html 主页进行导航。现在清楚了吗?

标签: ionic-framework ionic-view


【解决方案1】:

我只讨论如何从一个模板导航到另一个模板。 使用 angularjs 或 javaScript 的 ionic。是按照 state 或 url 等的简单调用
例如每个控制器都有路由和 HTML 页面

angular.module('starter.storeDetailsController', [])
.config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('storeDetails', {
            url: '/user/:store',
            abstract:true,
            templateUrl: 'templates/store_detail.html',
            controller: 'StoreDetailsCtrl'
        })
})

.controller('StoreDetailsCtrl', ['$scope', '$ionicLoading',   '$timeout', function($scope, $ionicLoading, $timeout) {
     $scope.goToNextPage=function(){
        $state.go('home'); //here navigate from one template to another
     }
  }])

还有一页

angular.module('starter.homeDetailsController', [])
.config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('home', {
            url: '/home',
            abstract:true,
            templateUrl: 'templates/home.html',
            controller: 'HomeCtrl'
        })
})

     .controller('HomeCtrl', ['$scope', '$ionicLoading', '$timeout',    function($scope, $ionicLoading, $timeout) {
   console.log('Welcome');
}])

上面的示例显示了两个控制器 StoreDetailsCtrl 和 HomeCtrl,我在主页中从 StoreDetailsCtrl 转到 HomeCtrl。这是通过 javascript 导航,但有很多方法可以导航页面。

在 HTML 中的 href=#/url 旁边,还在 ionic 中使用 ui-sref="stateName" 来导航页面。

【讨论】:

  • 嗨阿努拉格。是的,这是我的问题的一部分。我已经实现了。但我的怀疑还有另一部分。目标页面仍在使用主 index.html。我想跳到第二页,而这个是使用另一种index.html。所以,在原点,我有我的索引,带有 ion-nav-view 的 html 和一个带有视图内容的模板页面。在页面目标中,我有另一个使用其他控件的带有 ion-nav-view 的主页,以及使用第二个主页的模板页面。该怎么做?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-30
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
相关资源
最近更新 更多