Skip to content

Instantly share code, notes, and snippets.

@jquerygeek
Created October 26, 2017 14:22

Revisions

  1. jquerygeek created this gist Oct 26, 2017.
    53 changes: 53 additions & 0 deletions custom store
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,53 @@
    // my-store.js

    import Vue from 'vue'
    import axios from 'axios'

    export const myStore = new Vue({
    data: {
    messages: [],
    contacts: []
    },
    methods: {
    addMessage(newMessage) {
    this.messages.push(newMessage)
    },

    getMesseges() {
    return this.messages
    },

    updateMessages(messeges) {
    this.messages = messeges
    },

    getUnreadMesseges() {
    return this.messages.filter(function (message) {
    return !message.viewed
    })
    },

    getContacts() {
    return this.contacts
    },

    deleteContact(contact) {
    this.contacts.splice(this.contacts.indexOf(contact), 1)
    },

    storeContacts() {
    return axios.get(`http://jsonplaceholder.typicode.com/users`)
    .then(response => {
    this.contacts = response.data
    })
    .catch(e => {
    console.log(e)
    })
    }
    }
    });

    // main.js
    import { myStore } from './my-store.js'

    Vue.prototype.$myStore = myStore