角度UIルーターが新しく、ネストされたビューでアプリケーションを作成しようとしています。子ステートが変更されたときにリロードコントローラ - 角型UIルータ
私は、「ヘッダ」状態と「コンテンツ」状態をホストするindex.htmlを持っています。コンテンツの状態では、グローバルビューとサブビューを表す2つのナビゲーションバーがあります。ユーザーがアプリケーションを開くと、グローバルビューがデフォルトで開きます。
しかし、現時点では、アプリケーションを実行するたびに、グローバルビューとサブビューコントローラが同時に実行されています(両方のビューが同時にロードされています)。
私が望むのは、グローバルコントローラのみが最初に実行され、ユーザーがサブビューをクリックするとコントローラが実行されることです。これに続いて、ユーザーが両方のビューを切り替えるたびに、コントローラーがリロードする必要があります。
Googleから読んでいましたが、ここでは必要な解決策を見つけることができませんでした。 ui-routerを使用してこれが可能かどうかお知らせください。ありがとう。
index.htmlを
<html>
<body>
<div class="fluid-container">
<div ui-view="header"></div>
<div ui-view="content"></div>
</div>
</body>
</html>
content.html
<div class="row" style="background-color: #F9F9F8">
<div class="col-md-3"></div>
<div class="col-md-6">
<ul class="nav nav-pills nav-justified">
<li class="active"><a data-toggle="pill" href="#globalView">Global</a></li>
<li><a data-toggle="pill" href="#subView">Sub View</a></li>
</ul>
</div>
<div class="col-md-3"></div>
</div>
<div class="row">
<br>
<hr></hr>
<div class="tab-content">
<div id="globalView" class="tab-pane fade in active" ui-view="globalView"></div>
<div id="subAccountView" class="tab-pane fade" ui-view="subView"></div>
</div>
</div>
app.js
$urlRouterProvider.otherwise("/firstPage");
$urlRouterProvider.when('', '/firstPage');
$stateProvider
.state('home', {
url: '',
views: {
/** Find the views named in index.html and inject the named views**/
'header': {
templateUrl: 'views/header.html',
controller: 'headerController',
controllerAs: 'headerCtrl'
},
'content': {
templateUrl: 'views/content.html',
controller: 'contentController',
controllerAs: 'contentCtrl',
}
}
})
.state('home.summary', {
url: '/firstPage',
views: {
'globalView': {
templateUrl: "views/globalViewPage.html",
controller: "globalViewController",
controllerAs: "globalViewCtrl"
},
'subView': {
templateUrl: "views/subView.html",
controller: "subViewController",
controllerAs: "subViewCtrl"
}
}
});
このチュートリアルを確認してくださいhttps://scotch.io/tutorials/angular-routing-using-u-router – Weedoze
Thanks Weedoze。このチュートリアルは非常に役に立ちました。私は以下の答えを掲載しました。 –
問題はありませんヤッシュ、それは嬉しかったです:) – Weedoze