Last active
September 20, 2018 05:06
-
-
Save jsdecena/9c3c37416e407d277b6dcc4950a51caf to your computer and use it in GitHub Desktop.
Service in Vue
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UserService from './user.service.js'; | |
... | |
data() { | |
return { | |
users: [] | |
} | |
}, | |
mounted() { | |
loadUsers(); | |
}, | |
method: { | |
loadUsers(queryParams = {}) { | |
UserService.all(queryParams}).then(res => { this.users = res.data }) | |
} | |
} | |
// UserService | |
import Vue from 'vue' | |
import VueResource from 'vue-resource' | |
Vue.use(VueResource); | |
export class UserService { | |
static all(queryParams = {}) { | |
return Vue.http.get(<YOUR-URL>, { params: queryParams }) | |
.then(response => { | |
return response.data; | |
}, error => { | |
console.error(error); | |
} | |
); | |
} | |
} |
// User Component;
import {mapState} from "vuex";
import {mapGetters} from "vuex";
export default {
data() {
return {
};
},
created() {
this.getUsers();
},
computed: {
...mapState("user", ["users"]),
...mapGetters("user", ["inActiveUsers"])
},
methods: {
getUsers(page) {
this.$store.dispatch("user/getUsers");
}
}
};
//User Vuex Module
import user from "../services/user";
export default {
namespaced: true,
state: {
users: []
},
mutations: {
setUsers(state, param) {
state.users = param;
},
errors(state, param) {
state.errors = errors;
}
},
getters: {
inActiveUsers: state => {
// Code to get inactive users
return inActiveUsers;
}
},
actions: {
async getUsers({ commit }) {
try {
let response = await user.getUsers();
commit("users", response);
} catch (errors) {
commit("errors", errors);
}
}
}
};
// User Service
import auth from "./auth";
import api from "./api";
export default {
getUsers() {
return new Promise((resolve, reject) => {
api.get(<URL>, <AUTH>)
.then(response => {
return resolve(response);
})
.catch((status, error) => {
reject(status, error);
});
});
}
};
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.