דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. vueX, ה-store לא מתעדכן בנתונים.

vueX, ה-store לא מתעדכן בנתונים.

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 209 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC
    chagoldC
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    כהמשך למטרה שלי באשכול הזה (שנפתרה תודות ל @yossiz )

    יצרתי מוטציה (שניגשת לשרת לקבל פרמטרים ומזינה אותם בstate).

    כשאני ניגש בשורה הבאה לstate או הgetters, אז הפרמטרים עדיין לא מופיעים ואני מקבל תוצאה כזו -
    1794681e-5d31-4a98-a9a1-dad035811fb7-image.png

    רק אם אני מדפיס את כל האובייקט של הגטרס, אז מגיע אובייקט שבדפדוף לאיברים שלו רואים את התוצאות.

    זה הקוד

    import { store } from '@/store/store'
    
    async function myDisplay() {
    
    	await store.commit('get_data_project');
    
    	const user = await store.getters.data_project
    	console.log(user)
    }
    myDisplay();
    
    yossizY תגובה 1 תגובה אחרונה
    0
    • chagoldC chagold

      כהמשך למטרה שלי באשכול הזה (שנפתרה תודות ל @yossiz )

      יצרתי מוטציה (שניגשת לשרת לקבל פרמטרים ומזינה אותם בstate).

      כשאני ניגש בשורה הבאה לstate או הgetters, אז הפרמטרים עדיין לא מופיעים ואני מקבל תוצאה כזו -
      1794681e-5d31-4a98-a9a1-dad035811fb7-image.png

      רק אם אני מדפיס את כל האובייקט של הגטרס, אז מגיע אובייקט שבדפדוף לאיברים שלו רואים את התוצאות.

      זה הקוד

      import { store } from '@/store/store'
      
      async function myDisplay() {
      
      	await store.commit('get_data_project');
      
      	const user = await store.getters.data_project
      	console.log(user)
      }
      myDisplay();
      
      yossizY
      yossizY
      yossiz
      כתב ב נערך לאחרונה על ידי
      #2

      @chagold אמר בvueX, ה-store לא מתעדכן בנתונים.:

      יצרתי מוטציה (שניגשת לשרת

      מוטציות אמורים להיות סינכרוניים. לתהליך אסינכרוני תשתמש באקשין.
      https://vuex.vuejs.org/guide/mutations.html#mutations-must-be-synchronous

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
      👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

      chagoldC תגובה 1 תגובה אחרונה
      3
      • yossizY yossiz

        @chagold אמר בvueX, ה-store לא מתעדכן בנתונים.:

        יצרתי מוטציה (שניגשת לשרת

        מוטציות אמורים להיות סינכרוניים. לתהליך אסינכרוני תשתמש באקשין.
        https://vuex.vuejs.org/guide/mutations.html#mutations-must-be-synchronous

        chagoldC
        chagoldC
        chagold
        כתב ב נערך לאחרונה על ידי chagold
        #3

        @yossiz זה עדיין לא עוזר.
        לאחר בדיקה זה בגלל שאני משתמש באקשין בfetch וזה סינכרוני.

        כנראה אני צריך להכניס את הfetch בתוך פונקציית async, רק שזה הורס את ההתייחסות בthis ל-store (וזה שוב פלסטלינה).
        הכיוון הזה נכון או שאני צריך לעשות משהו פשוט יותר?

        chagoldC תגובה 1 תגובה אחרונה
        0
        • chagoldC chagold

          @yossiz זה עדיין לא עוזר.
          לאחר בדיקה זה בגלל שאני משתמש באקשין בfetch וזה סינכרוני.

          כנראה אני צריך להכניס את הfetch בתוך פונקציית async, רק שזה הורס את ההתייחסות בthis ל-store (וזה שוב פלסטלינה).
          הכיוון הזה נכון או שאני צריך לעשות משהו פשוט יותר?

          chagoldC
          chagoldC
          chagold
          כתב ב נערך לאחרונה על ידי
          #4

          כך עלתה בידי

          באקשין:

          const actions = {
          
             get_data_project(state){
          		
               return fetch(this.getters.domainToFetch+'/index.php',{credentials: 'include'})
                      .then(response => response.json())
          	    .then(
          		data_project => {
                            return this.state.typesprojects.data_project = data_project;
          	    })
              }
          }
          

          והקריאה

          import { store } from '@/store/store'
          
          store.dispatch('get_data_project')
            .then(
               data_project => {
          	console.log(data_project.name_project)
             });
          
          תגובה 1 תגובה אחרונה
          0

          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

          נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

          הרשמה התחברות
          תגובה
          • תגובה כנושא
          התחברו כדי לפרסם תגובה
          • מהישן לחדש
          • מהחדש לישן
          • הכי הרבה הצבעות


          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום