2017-09-21 3 views
0

현재 라우터보기를 새로 고치는 방법이 있습니까? location.reload()와 같은 것입니다. 그러나 전체 페이지가 아니라 현재 경로 이름보기에서만 나타납니다. location.reload with VueJS

내가 그것에 대해 많이 검색하고 난
this.$route.router.go 

을 시도/\이 모든 페이지를 다시로드, 좋지 않다.

아주 좋은 해결책을 찾았습니다. Here. 그러나 나는 그것을 시도 할 때 :

vm.$forceupdate 

CONSOLE.LOG. (VM $ forceUpdate를)

ƒ() { var에 VM =이; if (vm._watcher) { vm._watcher.update(); }}

예! 'vm'은 이미 전역 변수입니다. 을 console.log (VM)

뷰 $ {3 _uid : 0, _isVue : 사실, $ 옵션 : {...}, _renderProxy : 프록시, _self : 뷰 $ 3 ...}

아무 것도 없음이이 기능을 사용합니다. 누군가 무슨 일이 일어나고 있는지 또는 그 일을하는 다른 방법을 알고 있습니까?

감사합니다.

+0

정확히 무엇을 하려는지는 모르지만 forceupdate가 아닌'forceUpdate'입니다. 그리고 이것을'vm. $ forceUpdate()'해야 할 것입니다. – thanksd

+1

왜 이것을하고 싶습니까? – ceejayoz

+0

@thanksd 내 질문을 편집했습니다. 사실이 기능으로는 아무 일도 일어나지 않습니다. – Johnson

답변

0

data 또는 computed 내에있는 모든 내용은 변경 될 수 있으며 변경 사항에 대한보기가 업데이트됩니다. 그러므로 JSONdata에 저장해야합니다 (또는 매장에서 사용하는 경우 mapState을 사용하십시오). 보다 구체적인 답변이 필요하면 - 예를 들어주십시오.

+0

안녕 Artur.js, 예! 나는 그것을 안다. 내 진짜 문제는 Axios를 만들기 때문입니다. Rest API를 사용하십시오. 그리고 API가 새로운 값을 얻을 때 새로운 Axios.Get을해야하기 때문에 뷰가 업데이트되지 않습니다. 그래서 메뉴에서보기를 클릭하면보기에 새로 고침을하고 싶었습니다. – Johnson

+0

백엔드의 데이터가 어떻게 변경되었는지 어떻게 알 수 있습니까? 소켓이있는 경우 - 다른 사람이 msg를 호출하도록하십시오. 또한 하나를 사용하고 싶을 수도 있습니다 (예 : sockets.io) 그렇지 않으면 n 초마다 데이터를 검색하는 시간 초과를 할 수 있습니다. –