0

내가 명령에 의해 페이지의 부분을로드하는 SPA를 설계하려고의 순서를 유지하지만 난UI 라우터,</p> <pre><code>var main = {name : 'main', url : "", abstract : true, views :{ 'header' : {//main template}, 'content' : {//main template}, 'footer' :{//main template} }}; </code></pre> <p>를 전망

single_post = {name : 'single_post', 
    url : "/sp", 
    views : { 
    'content' : { 
    templateUrl : "some template" } 
    }  
}; 

$stateProvider.state(main); 
$stateProvider.state(single_post); 
처럼 "single_post"라는 다른 상태로 할 때

메인을로드 한 후 single_post 템플릿을로드합니다 !! 페이지에서보기의 순서를 유지하려면 어떻게해야합니까?

XHR requests

+0

귀하의 질문에보다 명확하게 대답 해 주실 수 있습니까? –

+0

다른 상태를 표시하려고하는데 모두 모두 거의 같은보기를 가지고 있지만 모든 상태에 대해 중간보기 (내용)를 변경하려고합니다. –

+0

이것의 무엇도 아주 명확하지 않다 .... [ask]를 읽는 시간을내어주십시오. 그런 다음 적절하게 상세한 문제 설명이있는 [edit question] (http://stackoverflow.com/posts/43428051/edit) – charlietfl

답변

0

당신은 resolve의 사용이 예를 들어 해결로드에 기록 된대로, 때까지 페이지를로드하지 않을 수 있습니다 :이에서

$stateProvider.state('users.profile', { 
    url: '/:id', 
    templateUrl: 'views/users.profile.html', 
    controller: 'UsersController', 
    resolve: { 
    user: function() { 
     //function code 
    }, 
    tasks: function() { 
     //function code 
    } 
    } 
}); 

, 페이지가 될 때까지로드되지 않습니다 사용자 및 작업 기능이 실행됩니다.

또 다른 옵션은 $stateChangeSuccess 이벤트 리스너를 사용하여 상태가 성공적으로 전환되었을 때만 컨트롤러 기능을 호출하는 것입니다. 여기에 쉘 페이지를로드하고 컨트롤러가 데이터를 반환 할 때 채울 수 있습니다.

관련 문제