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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. Vue.js | הגדרת משתנה גלובלי

Vue.js | הגדרת משתנה גלובלי

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 5 כותבים 455 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • liy770L מנותק
    liy770L מנותק
    liy770
    כתב ב נערך לאחרונה על ידי
    #1

    איך אני מגדיר ערך גלובלי שאני אוכל לגשת אליו מכל קובץ vue בפרוייקט הזה באמצעות this.$value?

    S ב 2 תגובות תגובה אחרונה
    0
    • S מנותק
      S מנותק
      Shaya
      השיב לliy770 ב נערך לאחרונה על ידי
      #2

      @liy770
      בתוך main.js:

      Vue.prototype.$value = value;
      
      liy770L ב 2 תגובות תגובה אחרונה
      3
      • liy770L מנותק
        liy770L מנותק
        liy770
        השיב לShaya ב נערך לאחרונה על ידי
        #3

        @Shaya אמר בVue.js | הגדרת משתנה גלובלי:

        @liy770
        בתוך main.js:

        Vue.prototype.$value = value;
        

        אני יכול לערוך אותו ע״י this.$value = "a"?
        ניסיתי וזה לא עבד...

        yossizY תגובה 1 תגובה אחרונה
        0
        • ב מנותק
          ב מנותק
          ב.ל
          השיב לliy770 ב נערך לאחרונה על ידי ב.ל
          #4

          @liy770
          https://vuejs.org/api/application.html#app-config-globalproperties

          app.config.globalProperties.msg = 'hello'
          

          זה מיועד לשמירת ערך קבוע שיהיה זמין בכל הדפים.
          אם אתה רוצה ערך שיהיה ניתן להגדרה ושינוי בכל מקום תשתמש בקובץ חיצוני עם ref עיין כאן או עם vuex / pinia

          ליצירת קשר - baruchlamdan@gmail.com

          תגובה 1 תגובה אחרונה
          0
          • ב מנותק
            ב מנותק
            ב.ל
            השיב לShaya ב נערך לאחרונה על ידי
            #5

            @Shaya אמר בVue.js | הגדרת משתנה גלובלי:

            בתוך main.js:

            Vue.prototype.$value = value;
            

            זה רק בvue2

            ליצירת קשר - baruchlamdan@gmail.com

            תגובה 1 תגובה אחרונה
            1
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לliy770 ב נערך לאחרונה על ידי yossiz
              #6

              @liy770 זה כבר לא קשור ל-VUE אלא ל-JS.

              יש הבדל ב-JS בין קריאה של שדה לכתיבה לתוך שדה.
              בקריאה, אם השדה לא קיימת אז JS בודק את שרשרת הפרוטוטייפים, ומחזיר את הערך משם אם זה קיים שם.

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

              (נראה לי שההסבר פשוט, כי JS לא מבחין בין פעולת יצירת השדה לבין פעולת הכתיבה לשדה, שניהם נעשים על ידי השמה לתוך השדה, ואם השדה לא קיימת זה מיוצר אוטומטית, לכן אין דרך לדעת שהתכוונת לפרוטוטייפ ולא לאובייקט עצמו)

              יש שתי פתרונות לצורך שלך:

              ℹ אני מתייחס ל"צורך" בצורה צרה מאוד, כלומר רק לצורך המוצהר של "ערך גלובלי שאני אוכל לגשת אליו מכל קובץ vue בפרוייקט הזה באמצעות this.$value". יש דרכים יותר טובות לניהול state גלובלי

              א) תוכל לכתוב לשדה על ידי this.constructor.prototype.$value
              ב) להגדיר ש-$value הוא מסוג אובייקט ותמיד תיגש לשדה בתוכו, כך תקבל תמיד גם בכתיבה וגם בקריאה את אותה שדה.

              Vue.prototype.$values = { value };
              

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              liy770L תגובה 1 תגובה אחרונה
              5
              • liy770L מנותק
                liy770L מנותק
                liy770
                השיב לyossiz ב נערך לאחרונה על ידי
                #7

                @yossiz אמר בVue.js | הגדרת משתנה גלובלי:

                ב) להגדיר ש-$value הוא מסוג אובייקט ותמיד תיגש לשדה בתוכו, כך תקבל תמיד גם בכתיבה וגם בקריאה את אותה שדה.

                סורי אבל פחות הבנתי...
                (אני צריך משתנה שאני יוכל לגשת אליו מכל קובץ בפרוייקט)

                ח yossizY 2 תגובות תגובה אחרונה
                0
                • ח מנותק
                  ח מנותק
                  חוקר
                  השיב לliy770 ב נערך לאחרונה על ידי
                  #8

                  @liy770 אמר בVue.js | הגדרת משתנה גלובלי:

                  (אני צריך משתנה שאני יוכל לגשת אליו מכל קובץ בפרוייקט)

                  בשביל יש את store

                  תגובה 1 תגובה אחרונה
                  0
                  • yossizY מנותק
                    yossizY מנותק
                    yossiz
                    השיב לliy770 ב נערך לאחרונה על ידי yossiz
                    #9

                    @liy770 התכוונתי שתעשה ככה:
                    בקובץ הראשי:

                    Vue.prototype.$values = { xyz: "xyz" };
                    

                    בגישה לערך מקובץ אחר:

                    this.$values.xyz
                    

                    כתיבה לערך:

                    this.$values.xyz = "abc"
                    

                    זה היה לפי מה שהחלטת שאתה רוצה לגשת אליו ככה,
                    הייתי ממליץ במקום זה לשים את הערך בקובץ נפרד, משהו כזה:

                    xyz.js

                    let xyz = "xyz"
                    
                    export function setXyz(val) {  xyz = val }
                    
                    export function getXyz() { return xyz }
                    

                    והשימוש:

                    import { getXyz, setXyz } from './xyz'
                    
                    let xyz = getXyz
                    setXyz(xyz + "123")
                    

                    אם אתה רוצה שהערך יהיה ריאקטיבי (כלומר שהאפליקציה תגיב לשינויים בערך) צריך להשתמש בשירותים של vue לעשות אותו ריאקטיבי, אני לא כל כך מכיר

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    liy770L תגובה 1 תגובה אחרונה
                    2
                    • liy770L מנותק
                      liy770L מנותק
                      liy770
                      השיב לyossiz ב נערך לאחרונה על ידי
                      #10

                      @yossiz תודה אבל משום מה אני מקבל ערך ריק...

                      ב תגובה 1 תגובה אחרונה
                      0
                      • ב מנותק
                        ב מנותק
                        ב.ל
                        השיב לliy770 ב נערך לאחרונה על ידי ב.ל
                        #11

                        @liy770 אמר בVue.js | הגדרת משתנה גלובלי:

                        @yossiz תודה אבל משום מה אני מקבל ערך ריק...

                        אם אתה בvue 3 זה לא יעבוד לך
                        תכתוב כך

                        app.config.globalProperties.msg = {xyz:xyz}
                        

                        ועיין מה שכתבתי לעיל

                        ליצירת קשר - baruchlamdan@gmail.com

                        liy770L תגובה 1 תגובה אחרונה
                        0
                        • liy770L מנותק
                          liy770L מנותק
                          liy770
                          השיב לב.ל ב נערך לאחרונה על ידי
                          #12

                          @ב-ל אמר בVue.js | הגדרת משתנה גלובלי:

                          @liy770 אמר בVue.js | הגדרת משתנה גלובלי:

                          @yossiz תודה אבל משום מה אני מקבל ערך ריק...

                          אם אתה בvue 3 זה לא יעבוד לך

                          וראה מה שכתבתי לעיל

                          vue2

                          תגובה 1 תגובה אחרונה
                          1

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

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

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