2016-08-23 2 views
1

내 노선에서 이렇게 할 수 있는지 궁금합니다 .js. 이것은 효과가 없지만 가능한지 알고 싶었습니다.경로에서 두 개의보기를 설정할 수 있습니까?

state('tabs.jobDetails', { 
    url: '/jobDetail', 
    cache: false, 
    views: { 
    function($ionicHistory) { 
     if($ionicHistory.backTitle() === "Listings") { 
     'home-tab' 
     } else { 
     'search-tab' 
     } 
    } { 
     templateUrl: 'templates/jobDetails/jobDetails.html', 
     controller: 'jobsCtrl' 
    } 
    } 
}); 
+2

메가 :

function setStateParams() { if($ionicHistory.backTitle() === "Listings") { return { 'home-tab': { templateUrl: 'templates/jobDetails/jobDetails.html', controller: 'jobsCtrl' } }; } else { return { 'search-tab': { templateUrl: 'templates/jobDetails/jobDetails.html', controller: 'jobsCtrl' } }; } } 

및 전망에 전화 같은 객체 : 함수를 정의 외부 좋아? 즉,'return '홈 탭';','return 'search-tab';'이제 당신의 함수는 아무 것도 반환하지 않는다. – Razzka

+0

@Razzka 예기치 않은 문자열 오류가 발생했습니다. – noor

답변

0

views 개체는 아래 형식과 같아야합니다.

views: { 
    "main": { 
     template: "<h1>HELLO!</h1>" 
    } 
} 

이 개체를 만들기 위해 코드를 변경해야합니다. .state와 $ stateprovider 밖에 함수를 넣고 뷰에서 호출하도록 제안 할 것이다. 당신은 그냥이 값 (`가정 tab`,`검색 - tab`)를 반환해야합니다

views: setStateParams() 
+0

이 오류는 route.js에서 오류를 발생시킵니다. 이 오류는 templateUrl에있다 : '템플릿/jobDetails/jobDetails.html', 컨트롤러 : 'jobsCtrl'는 acceot하지 않습니다 ':'문자. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? – noor

+0

죄송합니다. 컴파일러가 함수를 호출하는 대신 객체의 키 이름으로 함수를 사용했기 때문에 발생했습니다. 답변을 편집했습니다. 시도해보십시오. –

관련 문제