2016-06-20 1 views
0

플러그인을 통해 lounching 응용 프로그램이 솔루션라우팅 이온 응용 프로그램을 시작

.run(['$state', '$window', 
function($state, $window) { 
    $window.addEventListener('LaunchUrl', function(event) { 
     // gets page name from url 
     var page =/.*:[/]{2}([^?]*)[?]?(.*)/.exec(event.detail.url)[1]; 
     // redirects to page specified in url 
     $state.go('tab.'+ page, {}); 
    }); 
}]); 

function handleOpenURL(url) { 
setTimeout(function() { 
    var event = new CustomEvent('LaunchUrl', {detail: {'url': url}}); 
    window.dispatchEvent(event); 
}, 0);} 

이 솔루션은 경우 사용 단순히 상태 이름, 전 위대한 작품을 발견. myapp : // posts

.state('app.posts', { 
url: "/posts", 
views: { 
    'menuContent': { 
    templateUrl: "templates/posts.html", 
    controller: 'PostsCtrl' 
    } 
}}) 

오픈 앱/게시물

는하지만 링크 myapp와 함께이

.state('app.post', { 
url: "/posts/:postId", 
views: { 
    'menuContent': { 
    templateUrl: "templates/post.html", 
    controller: 'PostCtrl' 
    } 
}}) 

같은 오픈 상태를 필요 : // 포스트/2525. 누군가가이 문제를 해결할 수 있습니까? 고맙습니다!

+0

당신이 오류를받을 수 있나요? –

+1

해결) 자신)))) – KingStakh

+1

잘 했어! 나는 여기를 보길 권합니다 : https://medium.com/angularjs-articles/deep-linking-in-ionic-mobile-applications-44d8b4685bb3#.aagcscthf –

답변

0

해결 자신)))

.run(['$state', '$window', 
function($state, $window) { 
    $window.addEventListener('LaunchUrl', function(event) { 
     // gets page name from url 
     var page =/.*:[/]{2}([^?]*)[?]?[/]{1}([^?]*)[?]?/.exec(event.detail.url)[1]; 
     var id =/.*:[/]{2}([^?]*)[?]?[/]{1}([^?]*)[?]?/.exec(event.detail.url)[2]; 
     // redirects to page specified in url 
     // alert ("id:" +id); 
     $state.go('app.'+ page, {'postId': + id}); 
    }); 
}]);