繁体   English   中英

如何在离子的两个页面之间导航

[英]how to navigate between two pages in ionic

我正在开发ionic框架。我不知道如何在两个页面之间导航。我试图使用ionic使用侧面菜单模板创建登录页面。这是login.html的代码

<ion-view view-title="Login">
<ion-header-bar>
<h1 class="title">Login</h1>
</ion-header-bar>
<ion-content>
<form ng-submit="doLogin()">
  <div class="list">
    <label class="item item-input item-stacked-label">
    <span class="input-label">Username</span>
    <input type="text" placeholder="Email or Phone">
    </label>
    <label class="item item-input item-stacked-label">
    <span class="input-label">Password</span>
    <input type="text" placeholder="Password">
    </label>
    <label class="item">
    <button class="button button-block button-positive" type="submit">Log in</button>
    </label>
    <label class="item">
    <span class="input-label">New user?</span>
    <a class="button ion-plus-round" href="#/app/signup">Signup</a>    
    </label>

  </div>
</form>
</ion-content>
</ion-view>

在app.js中:-

.state('app.login', {
    url: "/login",
    views: {
      'menuContent': {
        templateUrl: "templates/login.html",
        controller: 'LoginCtrl'
      }
    }
  })
  .state('app.signup', {
    url: '/signup',
    views: {
      'menuContent': {
        templateUrl: 'templates/signup.html',
        controller: 'LoginCtrl'
      }
    }
  })

我将登录按钮放在menu.html中,其余的都一样

 <ion-item nav-clear menu-close href="#/app/login">
          Login
        </ion-item>   

当我单击菜单中的登录按钮时,但登录页面中的注册按钮不起作用。您能帮我吗?我是ionic和angularjs的新手

删除属性“ href”并添加ui-sref =“ app.signup” ...希望它将解决问题。

同样在路由配置中,更改视图对象名称“ menuContent”以进行合并。

.state('app.login', {
    url: "/login",
    views: {
      'menuLogin': {
        templateUrl: "templates/login.html",
        controller: 'LoginCtrl'
      }
    }
  })
  .state('app.signup', {
    url: '/signup',
    views: {
      'menuSingup': {
        templateUrl: 'templates/signup.html',
        controller: 'LoginCtrl'
      }
    }
  })

这应该有帮助,

<ion-view view-title="Login" name="loginView">
<ion-header-bar>
<h1 class="title">Login</h1>
</ion-header-bar>
<ion-content>
<form ng-submit="doLogin()">
  <div class="list">
    <label class="item item-input item-stacked-label">
    <span class="input-label">Username</span>
    <input type="text" placeholder="Email or Phone">
    </label>
    <label class="item item-input item-stacked-label">
    <span class="input-label">Password</span>
    <input type="text" placeholder="Password">
    </label>
    <label class="item">
    <button class="button button-block button-positive" type="submit">Log in</button>
    </label>
    <label class="item">
    <span class="input-label">New user?</span>
    <a class="button ion-plus-round" ui-sref="app.signup">Signup</a>    
    </label>

  </div>
</form>
</ion-content>
</ion-view>

您的路线应该是

.state('app.login', {
    url: "/login",
    views: {
      'loginView': {
        templateUrl: "templates/login.html",
        controller: 'LoginCtrl'
      }
    }
  })
  .state('app.signup', {
    url: '/signup',
    views: {
      'signupView': {
        templateUrl: 'templates/signup.html',
        controller: 'LoginCtrl'
      }
    }
  })

您的登录按钮,

 <ion-item nav-clear menu-close ui-sref="app.login">
          Login
        </ion-item> 

UI-Router由AngularJS和Ionic使用。 因此,请考虑使用ui-sref属性。 这还有另一个优势,显然,当您使用诸如ui-sref="app.login"时,您的父状态仍然绑定到'app'。 处理Angular时不要使用href 为此,您有一个Angular选项,即ng-href

为注册页面添加<ion-view view-title="Signup" name="signupView">

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM