0
내가 가진 내 main.js
다음과 같이 설정 : 오류가사용 VUE 라우터
import Vue from 'vue'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource';
Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(VueResource);
Vue.mixin({
methods: {
get_req: function(url) {
Vue.http.get(url, {
before(request) {
// before_callback(request);
}
}).then(response => {
// success_callback(response);
}, response => {
if(response.status == 404) {
Vue.router.push({name: '404'}); // <--- ERROR HERE
}
}).then(response => {
// always_callback(response);
});
}
}
});
const router = new VueRouter({
routes: [
{
path: '/',
component: Home,
meta: {page_title: 'Home'}
},
// ...
]
});
new Vue({
el: '#app',
template: '<App/>',
components: { App },
router: router
});
: 그래서
TypeError: Cannot read property 'push' of undefined
, 내가 전화 할 때 Vue.router
가 정의되어 있지 않은 것을 알고있다 mixin 방법, 그리고 이것에 대한 해결 방법은 무언가 같은 인수로 라우터 자체를 전달하는 것입니다 this.get_req(this.$router, 'http://example.com/users/5')
.
하지만 나는 더 좋은 방법이 있어야한다고 생각합니다.
감사합니다. 7 분 내에 받아 들일 수 있습니다. –