2016-03-29 12 views
0
**html file** 
<body ng-app="starter"> 
<ion-pane> 
<ion-header-bar class="bar-stable"> 
<div ng-controller="loginCtrl"> 
<h3>Login</h3> 
<form> 
<label>Username:</label><input type="text" ng-model="username" /><br><br> 
<label>Password:</label><input type="password" ng-model="password"><br> 
<button type="submit" ng-click="submit()">login</button> 
</form> 
</div> 
</ion-header-bar> 
<ion-content> 
</ion-content> 
</ion-pane> 
<script type="text/javascript"> 
var app = angular.module('starter', ['ionic']); 
app.controller('loginCtrl', function($scope, $location, $http, $state){ 
$scope.submit=function() 
{ 
var user=$scope.username; 
var pass=$scope.password; 
if($scope.username=="admin" && $scope.password=="1234") 
{ 
$location.path('templates/first'); 
} 

他nodejs {/ アラート( "エラー");/ $ location.path( '/ second'); } }
}); location.pathはページをナビゲートする正しい構文ですが、URLバーでは動作していますが、ページナビゲーションでは動作していません。angularjsイオン性フレームワークと

**app.js file** 
angular.module('starter', ['ionic']) 
.config(function($stateProvider, $urlRouterProvider) { 
$stateProvider 
.state('/', { 
url: '/', 
abstract: true, 
templateUrl: 'index.html' 
}) 
.state('/first', { 
url: '/first', 
abstract: true, 
templateUrl: 'templates/first.html' 
}) 
.state('/second', { 
url: '/second', 
abstract: true, 
templateUrl: 'templates/second.html'(these first and second html pages are given in templates folder in www folder of the project. 
}); 
$urlRouterProvider.otherwise({ redirectTo: '/login' }); 
}); 

[送信]ボタンをクリックした後、ページがfirst.htmlページにナビゲートしていません。

+0

$ location.path( 'templates/first');あなたはその道を確信していますか?テンプレート/最初ではなく/最初にどうですか? –

+0

あなたの質問を詳しく教えてください。 –

+0

** $ state.go( 'stateName')を試してください** –

答えて

0

これらの状態は抽象的なものです。抽象的な状態ではないため、抽象的なものを削除します。なぜなら、あなたのモジュール定義に Why give an "abstract: true" state a url? https://github.com/angular-ui/ui-router/wiki/Nested-States-&-Nested-Views#abstract-states

+0

まだ動作していません –

+0

あなたのindex.html内にui-viewが必要です –

+0

ui-viewのための単一のボタン次のページをクリックしてください。イオンタブを意味するものではありません。イオンタブはとても混乱します。単一のボタンで簡単に閲覧でき、ページに移動できます。それでおしまい。おかげさまで、もしこのAsim K Tについて助けてくれれば、ありがとう。:) –

0
  • あなたは間違っ$location.path('templates/first');を使用しているあなたはurl: '/first'としてそれを宣言した:

    .state('first', { 
    url: '/first', 
    abstract: true, 
    templateUrl: 'templates/first.html' 
    }) 
    

    .state('first', { 
    url: '/first', 
    templateUrl: 'templates/first.html' 
    }) 
    

    にこれを参照してください。代わりに$state.go('/first')を使用してページに移動します。

  • また、firstおよびsecondページ定義からabstractプロパティを削除します。

loginはそれが役に立てば幸いというようなURLが存在しないため

  • $urlRouterProvider.otherwise({ redirectTo: '/login' });これは、あまりにも間違っています。

  • +0

    first.htmlページはテンプレートフォルダにあります。だから私は$ location.path( 'templates/first');実際にはURLバーでその特定の場所に行くが、ページは行かない。それはまだログインページそのもので、私は$ state.goを試してみましたが、 "状態 ''から" /最初に解決できませんでした "というエラーが出ています。そして、いくつかのイオンナビビューディレクティブがナビゲーションに役立つと思います。あなたはそれについてあなたができますか?私のfirst.htmlページは1行だけで構成されているため、ログインに成功しました。 –

    +0

    まず、 '$ location.path()'はテンプレートの検索には使用されません。それは場所のためのブラウザにURLを置く。 '$ location.path( 'templates/first')'のようにurlプロパティのモジュール定義に** 'templates/first' **があります。 2番目に '/ first'から' first'への状態名の変更を試してみてください。それ以外のものがあれば、特殊文字が問題を引き起こしていると思います。 –

    関連する問題