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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
31 פוסטים 3 כותבים 1.9k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    אהרן
    כתב ב נערך לאחרונה על ידי
    #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
                                    • דף הבית
                                    • קטגוריות
                                    • פוסטים אחרונים
                                    • משתמשים
                                    • חיפוש
                                    • חוקי הפורום