ホームページ > 記事 > ウェブフロントエンド > AngularJs での ui.route の単純なアプリケーションを探索する
htmlページコード
<body ng-app="myApp"> <div ui-view></div> <div ui-view="login"></div> <div ui-view="enroll"></div> </body>
参照する必要があるui.router.jsファイル
<script src="angular-ui-router.js"></script>
app.js
UI-RouterをWebアプリケーションの依存関係としてメインプログラムに挿入:
url :url オプションは、ユーザーがアプリケーションを閲覧している状態に基づいて、アプリケーションの状態の URL を指定します (アドレスにはリンクが表示されます)。このようにして、アプリケーションの閲覧時にディープリンクの効果を実現できます。
var myApp = angular.module('myApp', ['ui.router']); myApp.config(['$stateProvider', '$urlRouterProvider', routeConfig]); function routeConfig($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise(''); $stateProvider.state('competition', { url: '/competition', templateUrl: '/competition.html', controller: 'competitionController' }).state('competition.detail', { url: '/competition-detail', templateUrl: '/competition-detail.html', controller: 'competitionDetailController' }).state.('competition.enrollForm',{ url: '/competition.enrollForm', templateUrl: 'competition-enrollFrom.html', controller: 'enrollFromController' }).state.('competition.comments',{ url: '/competition-comments', templateUrl: 'competition-comments.html', controller: 'commentsController' }).state('competition.login',{ url: '/competition-login', views: { 'login@': { templateUrl: 'competition-login.html', controller: 'loginController' } } }).state('competition.enroll',{<br> url: '/competition-enroll',<br> views: {<br> 'enroll@': {<br><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> templateUrl: 'competition-enroll.html',<br></em></em></em></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> controller: 'enrollController'<br></em></em></em></em></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> }<br></em></em></em></em></em></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> }<br></em></em></em></em></em></em></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> })<br></em></em></em></em></em></em></em></em></em><em id="__mceDel">}</em>
注意すべき点: ui.router は $stateProvider を使用し、ngRoute は $routeProvider を使用します。
$state.go
$state.go(to, [,toParams],[,options])
仮パラメータ to は、「^」または「.」を使用する必要があります。相対パスを示します。
仮パラメータ toParams は null 可能で、型はオブジェクトです。
仮パラメータのオプションは null 可能で、型はオブジェクトです。 location は bool 型です。デフォルトは true、inherit は bool 型でデフォルトは true、relative はオブジェクトでデフォルトは
$state、notify は bool 型でデフォルトは true、reload は bool 型でデフォルトは false
$state.go('photos.detail')
$state.go('^') から前のレベルへ (photo.detail から photo
$state.go('^.list' など) ) 隣接する状態 (photo.detail から photo.list など) へ
$state.go('^.detail.comment') 孫レベルの状態 (photo.detail から photo.detial.comment など) へ