内部で angular-ui-router 0.2.8 を使用する最新バージョンのIonicFrameworkを使用しています。ui-router を使用するのはこれが初めてなので、おそらくばかげた間違いを犯しているのですが、それが何であるかわかりません。追加したばかりの新しい状態または一連のビューに移動すると、「最大コール スタック サイズを超えました」というエラーが表示され、Chrome タブがクラッシュします。
私のベース HTML は非常に単純です。
<body ng-app="checkinApp" ng-controller="GlobalCtrl">
<nav-view></nav-view>
</body>
関連する画面のルート構成は次のとおりです。
app.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('event', {
url: "/event"
,templateUrl: "templates/event.html"
,controller: "MainCtrl"
})
.state('event.chooseEvent', {
url: "/choose"
,templateUrl: "templates/chooseEvent.html"
,controller: "MainCtrl"
})
.state('event.eventCheckin', {
url: "/checkin"
,templateUrl: "templates/eventCheckin.html"
,controller: "MainCtrl"
});
// if none of the above are matched, go to this one
$urlRouterProvider.otherwise("/event/choose");
});
上記のルート構成でアプリを起動するだけでエラーが発生します。他の操作は必要ありません。
これが私の見解です...
event.html:
<nav-view></nav-view>
子ビューがレンダリングされることを期待しているブロックに注意してください。
<side-menus>
<!-- page content -->
<pane side-menu-content>
<header class="bar bar-header bar-positive">
<button class="button button-icon icon ion-navicon" ng-click="toggleMenu()"></button>
<h1 class="title">Checkin</h1>
</header>
<nav-view></nav-view>
</pane>
<side-menu side="left">
<content>navigation menu content here</content>
</side-menu>
</side-menus>
eventCheckin.html:
<content has-header="true" on-refresh="refreshAttendees()">
<!-- for pull to refresh -->
<refresher></refresher>
<ul class="list">
<li
ng-repeat="person in attendees | orderBy:'firstname' | orderBy:'lastname'"
item="person"
class="item item-toggle"
>
{{person.lastname}}, {{person.firstname}}
<label class="toggle">
<input type="checkbox" ng-checked="person.arrived" ng-click="toggleArrived(person)" />
<div class="track">
<div class="handle"></div>
</div>
</label>
</li>
</ul>
</content>
chooseEvent.html:
<div><br/><br/><br/>Swipe right to choose an Event</div>
コール スタックの無限再帰を除けば、コンソールに他のエラーは表示されません。私が間違っていることは何か分かりますか?