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

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

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

אנגולר: ריקון אוטו' של modal כתלות במשתנה אחר

מתוזמן נעוץ נעול הועבר תכנות
31 פוסטים 3 כותבים 1.9k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #13

    אני התייאשתי מלהבין את מה שקרה איתך,
    ולכן הוספתי מהיצירתיות שלי כדי שיעבוד.
    https://plnkr.co/edit/2fnlsmQQwIt073pzJzTA?p=preview

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

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #14

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

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      א תגובה 1 תגובה אחרונה
      1
      • א מנותק
        א מנותק
        אהרן
        כתב ב נערך לאחרונה על ידי
        #15

        ערכתי את הדוגמא שלך
        https://plnkr.co/edit/yOPo7mDbOx4wiXhuSABX?p=preview
        מקווה שעכשיו הכל מובן.
        זה כתוב ומתוכנן נכון?

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

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #16

          הקוד לא פוטר אותך מלדבר, מה הבעיה ואיפה אתה תקוע (או שאין בעיה ואתה שואל רק על דיירקטיב?).

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          0
          • א מנותק
            א מנותק
            אהרן
            כתב ב נערך לאחרונה על ידי אהרן
            #17

            היו 2 נושאים עיקריים שהתקשיתי

            1. שגעון שהשורה:
            $scope.editName.current = null;
            

            תפטור אותנו מהשורה:

            $scope.editName.theNameToAdd = null
            

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

            1. בתחילה לא הבנתי מדוע הקוד הזה לא עובד:
            ng-model="editName.theNameToAdd"
            

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

            ng-model="$parent.editName.theNameToAdd"
            

            עכשיו אני חושב שהכל עובד כמצופה
            אני שואל על הקוד והתכנון בכלל
            ועל דרייקטיב.

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #18
              1. אכן שיגעון. גם לו היית צודק והיה טוב למחשב לחסוך את מאמץ ההשמה ע"י טריק זול יותר, שים לב שלהיות עקרוני בכאלה דברים זה טוב רק כמשנה למעשיות ולתכלס. אם העקרונות שלך בפעולה לפני שיש לך ביד דוגמה עובדת, אתה חייב להיגמל מהם דחוף.
              2. לי עובד בלי ה$parent

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              א תגובה 1 תגובה אחרונה
              0
              • א מנותק
                א מנותק
                אהרן
                השיב לdovid ב נערך לאחרונה על ידי
                #19

                @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                לי עובד בלי ה$parent

                וואו, מוזר'! לא מצליח לשחזר, אבל בצהרים זה עבד לי בדיוק כמו בתשובה כאן
                https://github.com/angular/angular.js/issues/6038

                ולמה בדוגמא הזו parent לא עוזר?
                https://plnkr.co/edit/aAHaSEuxQvnTUrsIK0eU?p=preview

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #20

                  הparent בנוי לקונטרולר מקונן, פשוט לא נוגע לפה.
                  במקרה השני הוא גם לא עוזר כי מדובר במשתנה פרימיטיבי שאליו א"א לגשת בתוך ng-repeat.

                  בקשר לדיירקטיב בניתי אחד לדוגמה:
                  https://plnkr.co/edit/OKMBQwUcwOQH5M6ix4qZ?p=preview

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  א תגובה 1 תגובה אחרונה
                  0
                  • א מנותק
                    א מנותק
                    אהרן
                    השיב לdovid ב נערך לאחרונה על ידי
                    #21

                    @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                    במקרה השני הוא גם לא עוזר כי מדובר במשתנה פרימיטיבי שאליו א"א לגשת בתוך ng-repeat.

                    למה? מה ההבדל?

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לאהרן ב נערך לאחרונה על ידי
                      #22

                      @אהרן אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                      @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                      במקרה השני הוא גם לא עוזר כי מדובר במשתנה פרימיטיבי שאליו א"א לגשת בתוך ng-repeat.

                      למה? מה ההבדל?

                      כתבתי לעיל שההתנהגות של ng-repeat גורמת שכל התייחסות בתוכה למשתנה פרימיטיבי לא עובדת. לא מבין את עומק העניין, אבל זו עובדה.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      zvizviZ תגובה 1 תגובה אחרונה
                      1
                      • א מנותק
                        א מנותק
                        אהרן
                        השיב לdovid ב נערך לאחרונה על ידי
                        #23

                        @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                        directive עצמאי ואז תהנה גם מבידוד מלא של התנהגות התיבה ורק הערך החוזר יגיע לאלמנט

                        אשמח להרחבה, למה אתה מתכוון "תיבה" ומהו ה"אלמנט"?

                        תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          כתב ב נערך לאחרונה על ידי dovid
                          #24

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

                          בקשר לדיירקטיב בניתי אחד לדוגמה:
                          https://plnkr.co/edit/OKMBQwUcwOQH5M6ix4qZ?p=preview

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          א תגובה 1 תגובה אחרונה
                          0
                          • zvizviZ מנותק
                            zvizviZ מנותק
                            zvizvi
                            השיב לdovid ב נערך לאחרונה על ידי zvizvi
                            #25

                            @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                            @אהרן אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                            @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                            במקרה השני הוא גם לא עוזר כי מדובר במשתנה פרימיטיבי שאליו א"א לגשת בתוך ng-repeat.

                            למה? מה ההבדל?

                            כתבתי לעיל שההתנהגות של ng-repeat גורמת שכל התייחסות בתוכה למשתנה פרימיטיבי לא עובדת. לא מבין את עומק העניין, אבל זו עובדה.

                            ng-repeat יוצר סקופ חדש עבור כל איטרציה.

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

                            https://zvizvi.xyz

                            dovidD תגובה 1 תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לzvizvi ב נערך לאחרונה על ידי
                              #26

                              @zvizvi אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

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

                              אתה מתכוון לגישת Controller as?

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              zvizviZ תגובה 1 תגובה אחרונה
                              0
                              • zvizviZ מנותק
                                zvizviZ מנותק
                                zvizvi
                                השיב לdovid ב נערך לאחרונה על ידי
                                #27

                                @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                                @zvizvi אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

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

                                אתה מתכוון לגישת Controller as?

                                כן. (ואגב, לפי הכללים של ג'ון פפא יש לקרוא לו vm,
                                ע"ש view model
                                https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#controlleras-with-vm)

                                https://zvizvi.xyz

                                תגובה 1 תגובה אחרונה
                                1
                                • א מנותק
                                  א מנותק
                                  אהרן
                                  השיב לdovid ב נערך לאחרונה על ידי אהרן
                                  #28

                                  @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

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

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

                                  ואגב אשמח להבין מהו התחביר שהשתמש בו:

                                  var = () ^ ()
                                  

                                  @zvizvi אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                                  ng-repeat יוצר סקופ חדש עבור כל איטרציה.
                                  מכיון שמומלץ מאוד לשמור דברים רק בקונטרולר ולא בסקופ, אז גם אין את הבעיה של סקופ חדש.

                                  אוקי, ומדוע הסקופ החדש מכיר רק אוביקטים מהסקופ שמעליו ולא פרימיטיבים, בגלל שמשתנה פרמטיבי מכיל את המידע עצמו ומשנה האוביקט הוא רק רפרנס למקום האוביקט בזכרון? @magicode


                                  @dovid אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                                  גישת Controller as?

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

                                  עריכה: הצלחתי להצמיד הכל לקונטרולר ועובד מצוין (בלי דירקטיב).
                                  בנוסף: אני לא מבין איך אפשר בקונטרולר שבדירקטיב להשתתמש ב-this, הוא ישתמש בthis של הדירקטיב?!


                                  שאלה נוספת:
                                  אם אכין דף נפרד עם אפשרויות נרחבות יותר לעריכה, להכניס א"ז לקנטרולר נפרד ולתקשר בינהם?

                                  שוב, תודות מראש!

                                  zvizviZ תגובה 1 תגובה אחרונה
                                  0
                                  • zvizviZ מנותק
                                    zvizviZ מנותק
                                    zvizvi
                                    השיב לאהרן ב נערך לאחרונה על ידי
                                    #29

                                    @אהרן אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                                    בנוסף: אני לא מבין איך אפשר בקונטרולר שבדירקטיב להשתתמש ב-this, הוא ישתמש בthis של הדירקטיב?!

                                    לא, לדיירקטיב (או לקומפוננט) יש קונטרולר והthis מפנה אליו, אצלו גם שומרים את כל המשתנים.
                                    דירקטיב הוא סה"כ אוסף ארוז של קונטרולר, סטייל וטמפלט html. והוא מכיל גם אפשרויות שונות - כמו API בכדי לתקשר איתו וממנו, ועוד.

                                    https://zvizvi.xyz

                                    א תגובה 1 תגובה אחרונה
                                    0
                                    • א מנותק
                                      א מנותק
                                      אהרן
                                      השיב לzvizvi ב נערך לאחרונה על ידי
                                      #30

                                      @zvizvi אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                                      @אהרן אמר באנגולר: ריקון אוטו' של modal כתלות במשתנה אחר:

                                      בנוסף: אני לא מבין איך אפשר בקונטרולר שבדירקטיב להשתתמש ב-this, הוא ישתמש בthis של הדירקטיב?!

                                      לא, לדיירקטיב (או לקומפוננט) יש קונטרולר והthis מפנה אליו, אצלו גם שומרים את כל המשתנים.
                                      דירקטיב הוא סה"כ אוסף ארוז של קונטרולר, סטייל וטמפלט html. והוא מכיל גם אפשרויות שונות - כמו API בכדי לתקשר איתו וממנו, ועוד.

                                      לא הבנתי
                                      בקונטרולר כותבים כך

                                      app.controller('MainCtrl', function ($scope) {
                                        var nv = this;
                                      
                                        nv.allObj = [
                                          [{
                                            name: '',
                                            lastName: 'aaa'
                                          } 
                                        ];
                                      });
                                      
                                      
                                      app.directive("elUpdated", function () {
                                      
                                        var directive = {};
                                      
                                        directive.controller = ['$scope', function ($scope) {
                                      וכו'
                                      return directive
                                      

                                      גם פה אפשר להוסיף

                                      var nv = this;
                                      nv.serch = function() {}
                                      וכו'
                                      

                                      ???

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        כתב ב נערך לאחרונה על ידי
                                        #31

                                        @אהרן למה לא?

                                        בקשר לX ^ Z, זה קשור לקוד שלך. אתה בודק האם אחד מהם ריק (name! || !lastName).
                                        האופטור ^ נקרא XOR והוא מחזיר אמת רק אם אחד מהואפרנדים שלילי והשני חיובי. כלומר אם שתיהם שליליים או חיוביים הוא מחזיר false.
                                        אבל הייתי חייב להשים סימן קריאה לפני כל ערך, כי אחרת הם לא מומרים לboolean וממילא התוצאה היא תמיד 0.

                                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

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

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

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