app.js 855 B

123456789101112131415161718192021222324252627282930313233
  1. const coinTop50 = {
  2. data() {
  3. return {
  4. date :document.getElementById("startDate").innerText,
  5. items: [],
  6. }
  7. },
  8. mounted() {
  9. this.requestData(this.date)
  10. const elems = document.querySelectorAll('.datepicker');
  11. M.Datepicker.init(elems, {onClose:()=>{
  12. this.date = this.datepicker.date.toISOString().slice(0,10)
  13. }});
  14. },
  15. watch:{
  16. date(newDate,oldDate){
  17. this.requestData(newDate)
  18. }
  19. },
  20. methods:{
  21. requestData(sDate){
  22. const d = new Date(sDate)
  23. const url = `/top50json/${d.getDate()}-${("0"+(d.getMonth()+1)).slice(-2)}-${d.getFullYear()}/`;
  24. axios.get(url)
  25. .then(this.handleJsonUpdate)
  26. },
  27. handleJsonUpdate(response){
  28. this.items = response.data
  29. }
  30. }
  31. }
  32. Vue.createApp(coinTop50).mount('#app')