2017-12-06 12 views
2

나는 매우 간단한 페이지를 가지고 있으며 몇 줄의 코드 만 있고 vue-component없이 vue-router를 사용하고 싶습니다.vue 2에서 구성 요소없이 vue-router를 사용할 수 있습니까?

www.example.com/my-search-query 

을 내 주요 뷰() 객체에서 사용 :

나는 루트 후 string "my-search-query"을 좀하고 싶습니다. 이것이 가능한가?

감사합니다.

+0

vue-router를 사용하려면 'window.location.pathname''을 사용하십시오. –

+0

@tom_h 경로가 "my-other-search-query"로 변경 될 때 어떻게 알림을받을 수 있습니까? "? 죄송합니다 멍청한 놈들 질문에, 난 그냥 vue 배우기 시작했습니다. – JinJi

답변

0

경로에 대한 알림 여전히 vue-component 및없이 vue-router을 사용할 수 있습니다 메인 뷰() 응용 프로그램 객체의 변화 :

이 같은 www.example.com/#/my-search-query에서 "my-search-query" 문자열을 얻을 수 있습니다 :

const router = new VueRouter({ 
    routes: [ 
    { path: '/:question' } 
    ] 
}) 

const app = new Vue({ 
    el: '#app', 
    router, 
    watch: { 
    '$route.params.question': function(newVal, oldVal) { 
     alert(newVal === 'my-search-query'); 
    } 
} 
}); 

덕분에 올바른 방향으로 날을 가리키는 위해 @samayo하기!

1

tom_h는 경로 이름을 얻으려는 경우 window.location.pathname을 사용할 수 있다고 말했습니다. 당신이 통보 할 경우이 경로 변경, 먼저() {데이터로 초기화} 객체와로 볼 때 :

data() { 
    return { 
    path: window.location.pathname 
    } 
}, 

watch: { 
    path (newpath, oldpath) { 
    alert('location path just changed from ' + newpath + ' to ' + oldpath) 
    } 
} 
+0

'path'가 변경되면이를 알려주고,'window.location.pathname'이 바뀌지 않았을 때 알려줍니다. – Bert

+0

하지만 윈도우 경로 이름도 바뀔 때 경로가 변경됩니다 – samayo

+1

'location.pathname'이 변경되고 감시자가 실제로 실행되는 예제를 보여 줄 수 있습니까? – Bert