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

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

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

vue, v-model ללולאה של selects

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

    השאלה לא בהכרח קשורה לvue, אולי סתם חוסר ידיעה איך לגשת / לכתוב לאובייקט / מערך בjs.

    הסיטואציה כזו:

    <select v-for="(coloumn, key) in list_coloumns" v-model="?????">
        <option v-for="(coloumn, key) in list_options"
            v-bind:key="key">
                                            {{option}}
            </option>
     </select>
    

    שיש כמה סלקטים, ואני צריך לשמור את נתוניהם באובייקט/מערך כלשהו כדי שכשבוחרים option הוא ישמור ויציג אותו בשורה של תיבת הרשימה.

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

    השאלה, איך אני מסמן לו את המתודה המסויימת שלו (כשהמזהה יכול להיות הcoloumn),

    כמו משהו כזה:

    v-model="list[coloumn]"
    

    אבל איך אני מגדיר את האובייקט/מערך?

    תודה.

    meir lamdanM 2 תגובות תגובה אחרונה
    0
    • meir lamdanM מנותק
      meir lamdanM מנותק
      meir lamdan
      השיב לchagold ב נערך לאחרונה על ידי
      #2
      פוסט זה נמחק!
      chagoldC תגובה 1 תגובה אחרונה
      1
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        השיב לmeir lamdan ב נערך לאחרונה על ידי chagold
        #3

        @meir-lamdan
        בשאלה שלי הv-for גם על הselect עצמו. לא רק על האופציות (ליתר דיוק: האופציות לא קשורות בכלל לשאלה. השאלה רק על הסלקטים, כיון שיש לופ של סלקטים שאמורים כ"א לשמור את נתוניו במיקום שלו).
        השאלה על איפה שסימנתי בסימני שאלה.

        תגובה 1 תגובה אחרונה
        0
        • meir lamdanM מנותק
          meir lamdanM מנותק
          meir lamdan
          השיב לchagold ב נערך לאחרונה על ידי meir lamdan
          #4

          @chagold כתב בvue, v-model ללולאה של selects:

          אבל איך אני מגדיר את האובייקט/מערך?

          const list = {
           coloumnA:null,
           coloumnB:null,
           coloumnC:null
          }
          
          v-model="list[coloumn]"
          
          chagoldC תגובה 1 תגובה אחרונה
          1
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            השיב לmeir lamdan ב נערך לאחרונה על ידי chagold
            #5

            @meir-lamdan כתב בvue, v-model ללולאה של selects:

            @chagold כתב בvue, v-model ללולאה של selects:

            אבל איך אני מגדיר את האובייקט/מערך?

            const list = {
             coloumnA:null,
             coloumnB:null,
             coloumnC:null
            }
            
            v-model="list[coloumn]"
            

            יש אפשרות להגדיר על אובייקט כזה watch? כי ה-coloumn אינם מתוכננים מראש (שאני יכול להצהיר עליהם), אלא הם מיובאים ונוצרים ע"י הקוד, אז אין לי אפשרות לעשות watch על כל אחד מהם, וב-watch על הlist שינוי של הפרטים שלהם לא מגיב. (גם שימוש בdeep: true לא מועילה, כנראה כיון שהם לא מוצהרים מראש, כנ"ל).

            או אולי יש פיתרון שאני לא יודע של הגדרת watch על הlist עצמו, בצורה כלשהי ששינוי של כ"א מהמאפיינים שלו יגיב, (אולי יש אפשרות להצהיר על המאפיינים וה-watch ג"כ מתוך הקוד)?

            תודה

            meir lamdanM תגובה 1 תגובה אחרונה
            0
            • meir lamdanM מנותק
              meir lamdanM מנותק
              meir lamdan
              השיב לchagold ב נערך לאחרונה על ידי
              #6

              @chagold
              אני לא חושב שזה קשור
              תבדוק שאתה מגדיר נכון את הwatch
              וגם אם אתה עוקב אחרי אוביקט אתה צריך לציין את האובייקט כפונקציה
              הנה דוגמה מהתיעוד של vue

              watch(
                () => state.someObject,
                (newValue, oldValue) => {
                  // Note: `newValue` will be equal to `oldValue` here
                  // *unless* state.someObject has been replaced
                },
                { deep: true }
              )
              
              
              
              chagoldC תגובה 1 תגובה אחרונה
              1
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                השיב לmeir lamdan ב נערך לאחרונה על ידי chagold
                #7

                @meir-lamdan
                הצלחתי כדבריך.

                רק הבעיה שהוואצ' לא מציג את ההבדל בין הערכים הישנים והחדשים (הוא מציג את שניהם אותו דבר. באג בלע"ז).
                מצ"ב פידל.

                meir lamdanM תגובה 1 תגובה אחרונה
                0
                • meir lamdanM מנותק
                  meir lamdanM מנותק
                  meir lamdan
                  השיב לchagold ב נערך לאחרונה על ידי meir lamdan
                  #8

                  @chagold
                  נכון, הם כותבים את זה בתיעוד שלהם.

                  export default {
                    watch: {
                      someObject: {
                        handler(newValue, oldValue) {
                          // Note: `newValue` will be equal to `oldValue` here
                          // on nested mutations as long as the object itself
                          // hasn't been replaced.
                        },
                        deep: true
                      }
                    }
                  }
                  
                  

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

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

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

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

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