2016-11-30 22 views
0

私はイオンとJavaScriptの新機能です。プロジェクトでビューを変更するときにいくつか問題があります。

私はタブスターターを使用してプロジェクトを作成しました。デフォルトのタブを使用して移動するとき、および新しいタブを追加するときにもすべてが機能します。コードの特定の部分では、私は$ state.go()関数を使用しているので、タブビューに移動する必要があり、うまくいきます。しかし、私はテンプレート、コントローラ、および状態で新しいビューを追加しました。ボタンをクリックすると、ビューをロードする必要があります。だから私は$ state.go()をもう一度使うが、エクスプローラのURLは変わるがビューは変わらず、以前のものにとどまる。ブラウザにURLを入力しても機能しません。状態の定義に問題があるかもしれませんが、大丈夫です。


.state('tab.file_explorer', { 
    url: '/file_explorer', 
    views: { 
     'tab-file_explorer': { 
     templateUrl: 'templates/tab-file_explorer.html', 
     controller: 'file_explorerCtrl' 
     } 
    } 
    }) 

コントローラ
これは、ボタンが配置されている他のビュー(ボタンが正常に動作し、私はそれをテストした)のコントローラです。現時点では、file_explorerCtrlコントローラは空です。

.controller('load_csvCtrl', function($scope, $state) { 
    $scope.loadCsv = function(){ 
     $state.go('tab.file_explorer'); 
    } 
} 

なしコンソール出力や404エラーが発生したURL http://localhost:8100/#/tab/file_explorerこのreddirect、。私も$ location.path()と$ window.location.assign()を使ってみましたが、テンプレートをロードすることもできません。

ご協力いただきありがとうございます。あなたのindex.htmlをあなたは名前のビューを使用している<ion-nav-view></ion-nav-view>タグ

+0

その解雇かどうかを確認するために$ scope.loadCsvの内側にはconsole.log( '内部loadcsv')を追加します。コードの他の部分でそれが失敗したと思ったときにそれを追跡することができます。 – flakerimi

+0

@Flakerimはい、$ scope.loadCsvが起動します。 –

+0

@RalkaiShagttenこれを解決しましたか?私は同じ問題を抱えています。 – benevolentprof

答えて

0

あなたがチェックすることができます。あなたの<ion-nav-view>は名前と一致する必要があります。

<ion-nav-view name="tab-file_explorer"></ion-nav-view>

は、ここにドキュメントを確認してください:

https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views

+0

はい、それはセクションの最後にあります。 –

0

を持っている場合

+0

何も、私はそれを試してみましたが、それは同じです。 URLは変わりますが、ビューは同じです。 –

+0

あなたはhtmlを貼り付けるべきです – Ladmerc

関連する問題