2017-10-03 4 views
0

상태 전환이 시작되기 전에 대상 상태가 일부 부모 상태에 있는지 확인해야합니다. MatchCriteria은 다음과 같습니다UI 라우터 상태에 속성 가져 오기가 포함됩니다. 속성 'includes'가 'StateDeclaration'유형에 존재하지 않습니다.

this.transition.onStart({ 
    to: function(state) { 
    return state.includes.parentstate; 
    } 
},() => {... 

하지만 나는 그것이 존재 console.log(state.includes) 경우 오류가 Property 'includes' does not exist on type 'StateDeclaration'. 말을 얻는다. 어떤 아이디어?

참고 : 프로젝트는 각도 4 및 UI 라우터를 사용합니다.

답변

0

이것은 @uirouter/core의 버그입니다. 콜백에 제공된 객체는 StateObject (일반적으로 내부 객체로 간주됩니다)입니다. 유형을 입력하면 상태를 등록하는 데 사용한 객체 인 StateDeclaration이라고 표시됩니다. 이전 버전과의 호환성을 위해 any

this.transition.onStart({ 
    to: function(state: any) { 
    return state.includes.parentstate; 
    } 
},() => {... 

, 나는 UI 라우터의 다음 버전은 단순히 StateObject

를 취할 typings를 업데이트합니다 생각하는

이 버그를 해결하려면, 함수 매개 변수를 선언