0👍
You’ve got several issues here.
The first is a simple one. Update your script to export named functions, for example:
export const changeToEditView = (reportId) => {
let pathEdit="/edit/"+reportId;
this.$router.push({ path: pathEdit, replace: true });
};
export const deleteReport = () => {
/* */
};
And then import with:
import { changeToEditView, deleteReport } from '@/src/path-to-file';
You’ll then be able to use these methods within your Vue component. You don’t need to register them first, nor do you need to use this.
.
For example:
methods: {
doStuff() {
deleteReport();
changeToEditView();
},
},
This answer explains the differences between named exports and default exports in a bit more detail.
The next issue, is that this.$router
isn’t going to be accessible like this. You will need to import your instance of Vue router to call .push on it.
- [Vuejs]-Vue.js computed on nested arrays
- [Vuejs]-Downside of a production webpack web-server while deploying Vue applications
Source:stackexchange.com