아래에 설명 된 문제는 여기에 버그로 설명 된 문제와 비슷합니다. https://forum.ionicframework.com/t/blocker-bug-with-state-go-navigation/11036 그러나 위의 버그에 대한 구체적인 증거가 없으므로 여기에서이 문제를 제기했습니다. .
내 응용 프로그램에서 라우팅을 위해 각도 ui 라우터를 사용하고 있으며 동일한 문제가 발생했습니다. 다음은 내 첫 번째보기는 상태 이름으로 로그인보기 그래서 내가 'LoginCtrl'내부입니다 '로그인'내 라우터 설정
.state('test', {
url: "/test",
templateUrl : "templates/session/finalprofile.html",
controller : 'LoginCtrl'
})
.state('login', {
url: "/login",
templateUrl : "templates/mainLogin.html",
controller : 'LoginCtrl'
})
.state('app.feed', {
url: '/feed',
views: {
'menuContent': {
templateUrl: 'templates/feed.html',
controller: 'PlaylistsCtrl'
}
}
})
.state('app.phabIssue', {
url: '/phabIssue',
views: {
'menuContent': {
templateUrl: 'templates/phabIssue.html',
controller: 'Pabricatortrl'
}
}
})
입니다. 보시다시피 이것은 중첩되지 않은보기입니다.
이제 라우팅을 위해 $ state.go를 사용할 때. 문 다음
$state.go('test')
작동하지만
이 작동하지 않습니다.$state.go('app.feed')
나는 다음과 같은 오류를
ionic.bundle.js:25642 TypeError: Cannot read property '@' of null at updateView (ionic.bundle.js:62346) at ionic.bundle.js:62337 at Scope.$broadcast (ionic.bundle.js:29477) at Object.load (ionic.bundle.js:49661) at Object.injectables.$template (ionic.bundle.js:49561) at Object.invoke (ionic.bundle.js:17762) at proceed (ionic.bundle.js:46577) at invoke (ionic.bundle.js:46573) at ionic.bundle.js:46552 at $Resolve.resolve (ionic.bundle.js:46656)
을 얻고있다 마찬가지로 내가 할 수있는 중첩되지 않은 상태의 노선.
@jbrown. 앱 경로입니다.
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl',
onEnter: function($state, Auth){
if(!Auth.isLoggedIn()){
$state.go('login');
}
}
})
그리고이 코드는 내가 코드를 추가 한 menu.html입니다.
<ion-side-menus enable-menu-with-back-views="false">
<div ui-view="menuContent"></div>
<ion-side-menu-content>
<ion-nav-bar class="bar-positive">
<ion-nav-back-button class="button button-clear">
<i class="ion-arrow-left-c"></i>
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu-toggle="left">
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<ion-header-bar class="bar-stable">
<h1 class="title">App title</h1>
</ion-header-bar>
<ion-content>
<ion-list>
<!-- <ion-item menu-close ng-click="login()"> -->
<ion-item menu-close href="#/app/mainLogin">
Login
</ion-item>
<ion-item menu-close href="#/app/feed">
Feed
</ion-item>
<ion-item menu-close href="#/app/phabIssue">
Phab
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
오전 나는 어떤 실수를하거나 라우팅 또는 버그의 올바른 방법이 아니다? 친절하게 해결하도록 도와주세요. UI를보기 지시자를 포함하는 상위 뷰를 추가
컨트롤러
.state('app', {
url: '/app',
templateUrl: 'app.html'
})
:
에 행동에 그것을 볼 수 있지만의 추가 설정이있다 .state ('app.phabIssue'... – jbrown
... 다음에 .state ('app.phabIssue', {...})가 두 번 나열됩니다. – jbrown
네, 그냥 붙여 넣기 오류입니다. 나는이 문제를 편집했습니다. – Yatin