Ember.js: [2.15.0] {{link-to}} داخل توقف جزئي عن العمل

تم إنشاؤها على ١ سبتمبر ٢٠١٧  ·  25تعليقات  ·  مصدر: emberjs/ember.js

بعد الترقية إلى 2.15.0 ، بدأت بعض اختباراتنا بالفشل بسبب توقف عمل جزئي داخل جزء من {{#link-to}} .

هذا هو {{link-to}} المعني . عند التقديم لا توجد أخطاء فورية ولكن href المُنشأ هو # ولا يتم إخراج السمة data-test-user-id عند الاختبار. يؤدي النقر فوق الارتباط إلى إخراج هذا التحذير:

This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.

كل شيء آخر داخل الجزء لا يزال يتم تقديمه بشكل جيد ، إنه مجرد ارتباط إلى ذلك فشل.

أدى تغيير الجزء إلى مكون إلى إصلاح المشكلة.

Bug Ember 2.15

التعليق الأكثر فائدة

الاستنساخ في 2.15 . نفس الشيء يعمل في 2.14 .

ال 25 كومينتر

لقد واجهت مشكلة مماثلة في 2.15 ، يبدو أن الجزء الذي يتم عرضه داخل كتلة منتجة من أحد المكونات لا يتلقى المعلمات الناتجة من هذا المكون.

مثال:

// -name.hbs
<p>{{name}}</p>

المكونات. js

export default Component.extend({
  name: "Ivan"
})

template.hbs

{{yield name}}

بعض-الطريق-template.hbs

{{#my-component as |name|}}
  {{partial "name"}}
{{/my-component}}

في هذه الحالة ، المتغير {{name}} في الجزء غير معرف.

يحدث نفس الشيء مع تكرار #each. لا يتم تمرير القيمة من #each إلى سياق الجزئية.

{{#each visibleContent as |record index|}}
  {{partial rowTemplate}}
{{/each}}

كل من السجل والفهرس غير معرّفين في الجزئي.

الاستنساخ في 2.15 . نفس الشيء يعمل في 2.14 .

ومن المثير للاهتمام ، أنه لا يزال بإمكاني الإشارة إلى خاصية المتغير "المفقودة" باسمها ، على سبيل المثال في rowTemplate يمكنني فعل record.id ولكن ليس (get record "id") . لست متأكدًا مما إذا كان هذا مفيدًا في تصحيح المشكلة.

هل هذا السلوك موروث أم أن هناك طريقة بديلة يجب أخذها في الاعتبار؟ لقد حاولنا استخدام المكونات بدلاً من الأجزاء ، ولكن بالنسبة لتطبيقنا الكبير ، لا يزال هناك العديد من الحالات التي يؤدي فيها هذا الخطأ إلى كسر الأشياء. في هذه المرحلة ، تم منعنا من الترقية ، وأنا مندهش من أن هذا لا يؤثر على المزيد من الأشخاص.

لا ، هذا ليس سلوكًا قديمًا في حد ذاته ، ولكنه غير شائع إلى حد ما. يجب عليك _ كليًا_ الانتقال إلى استخدام المكونات متى استطعت (من الأسهل كثيرًا التفكير بها) ، ولكن يجب علينا تمامًا إصلاح ذلك في أسرع وقت ممكن.

rwjblue أي مؤشرات يجب أن أبدأ في البحث فيها للمساعدة في إصلاح هذا؟

قدمت https://github.com/emberjs/ember.js/issues/15674 مع بعض حالات الاختبارات الفاشلة. يبدو أن المشكلة ليست بسيطة مثل الوصول إلى قيم الخاصية المقيدة داخل الجزئية (على الأقل لم يبدو الأمر كذلك مع الاختبار الخاص بي). أعتقد أن المشكلة الأساسية تتعلق بالطريقة التي ننشئ بها المراجع التي تستخدمها أشياء مثل if و unless و with و get .

للأسف ، ليس لدي مسدس دخان للإشارة إليه. :(

نحن أيضًا غير قادرين على الترقية بسبب هذا الخطأ. على غرار @ thec0keman ، لدينا تطبيق ember كبير إلى حد ما بدأ في الأصل باستخدام EAK ، لذلك لا تزال هناك بعض الوظائف القديمة التي لم نقم بإحضارها بعد إلى الجهاز الحديث

ليس لدينا الكثير من الأجزاء المتبقية ، ولكن يكفي أن يكون هذا مانعًا لنا حتى يتوفر لدينا الوقت لترحيل / اختبار الأجزاء المتبقية إلى المكونات

يجب أن يحصل هذا على بعض الأولوية الأعلى حقًا ، حيث يتم كسر الجزئيات منذ 2.15 وتمنع الأشخاص من الترقية من 2.14 إلى 2.16.

+1

سألقي نظرة على هذا الأسبوع القادم بعد EmberFest.

لقد مدد عبث منSerabe وتبين، أنه إذا يحصل تعريف خاصية بنفس الاسم في وحدة تحكم، وجزئيات يحصل على القيمة الصحيحة. ولكن إذا كانت القيمة في المصفوفة هي undefined فإن الجزء ما زال يعتقد أن له قيمة صحيحة.

هذا خطأ في Glimmer. انظر في القضية المشار إليها.

تم إصدار نسخة بصيص جديدة مع الإصلاح. بعد تحديث إصدار بصيص ، يجب إصلاح هذا الخطأ. لقد فتحت طلب سحب لتحديث إصدار بصيص.

لمعلوماتك - تعد الترقية إلى Glimmer 0.29 جهدًا كبيرًا (ومن غير المرجح أن تحدث قبل Ember 3.0.0) ، chadhietala نقلت الإصلاح إلى الفرع 0.25. نحتاج إلى إصدار ذلك كإصدار تصحيح وتحديث هذا الإصدار بدلاً من ذلك. سأحاول إنجاز هذه الإصدارات اليوم ...

rwjblue LMK إذا كان هناك أي شيء يمكنني مساعدته في الإصدار الذي يتضمن الفرع 0.25 المصحح (حيث أعمل على ترقية Intercom في الوقت الحالي). بقدر ما أستطيع أن أقول ، فإنه لم يصل بعد إلى جمرة الكناري

توجد نفس المشكلة أيضًا في حالة استخدام المساعد with :

{{#with someProperty as |youNameIt|}}
  {{partial somePartial}}
{{/with}}

ربما سيعمل التصحيح على إصلاح هذا أيضًا ، لكن للتأكد من أنني أذكره هنا!

مرحبا. هل هناك إصلاح تم إصداره لهذه المشكلة؟ بقدر ما أستطيع أن أقول ، فإن معظم المساعدين يتأثرون إلى حد ما عند استخدامها في partial . ايوجد اي عمل في هذه المنطقه؟

تم إصدار Ember 2.16.1 والذي يجب أن يصلح المشكلات المتعلقة بالأجزاء. يرجى إعلامي إذا كنت لا تزال تواجه مشكلات

بينما تم إصلاح هذه المشكلات ، وجدت للتو مشكلة أخرى تتعلق بالأجزاء الجزئية:

https://github.com/emberjs/ember.js/pull/15797

سأعمل على إصلاح هذا لاحقًا اليوم

هل أنتم متأكدون تمامًا من أنه قد تم حل المشكلة لـ 2.15؟ لا يزال القصور من

بالمناسبة ، لقد لاحظت أنه إذا قمت بتعديل الجزء لكتابة name ، فإنه يطبع القيمة الصحيحة بالفعل ...

image

ليس. Ember 2.15 ليس LTS ، لذلك لا أعتقد أن الإصلاح سيأتي.

تؤكد.

حسنا. اعتقدت أن الإصلاح الذي يتم نقله إلى الخلف إلى 0.25 سيعني هذا العمل على Ember 2.15 أيضًا. أعتقد أننا سننتقل مباشرة إلى 2.16 بعد ذلك. شكر!!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات