2016-07-07 3 views
0

아래에 설명 된 문제는 여기에 버그로 설명 된 문제와 비슷합니다. 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' 
}) 

:

+1

에 행동에 그것을 볼 수 있지만의 추가 설정이있다 .state ('app.phabIssue'... – jbrown

+1

... 다음에 .state ('app.phabIssue', {...})가 두 번 나열됩니다. – jbrown

+0

네, 그냥 붙여 넣기 오류입니다. 나는이 문제를 편집했습니다. – Yatin

답변

0

는이 같은 '응용 프로그램'의 상위 뷰와 경로를 설정해야합니다.

app.html

<div ui-view="menuContent"></div> 

당신은 내가 당신의 문제는 단지 복사/붙여 넣기 오류 같은데요이 작업

+0

나는 당신이 내가 바뀌 길 바랐던 것을 정확히 얻지 못했습니다. 방금 내 app.html (내 경우에는 menu.html) 안에 코드를 붙여 넣었습니다. menu.html과 필요한 라우팅을 모두 포함하도록 질문을 업데이트했습니다. 위에서 제안한 변경을 한 후에도 동일한 오류가 발생합니다. – Yatin

+0

@ Yatin - 이온에 특이한 것처럼 보입니다.불행히도 필자는 ionic에 대한 경험이 없으므로 특정 오류에 많은 도움이 될지 모르겠습니다. 라우팅을 어떻게 구성했는지 문제가 해결되기를 바랬지 만 그 이상이있는 것처럼 보입니다. – jbrown

+0

아마 내가 위에서 언급 한 버그와 관련이있는, 어쨌든 도움을 jbrown 감사합니다. – Yatin

관련 문제