Ember.js: ضع في اعتبارك جعل "CurrentModel" في "Ember.Route" عامًا

تم إنشاؤها على ١٥ يوليو ٢٠١٥  ·  4تعليقات  ·  مصدر: emberjs/ember.js

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

¹ على الرغم من أن routeName خاص ، انظر # 11759

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

يبدو جيدًا ، سأقوم بعد ذلك بإنشاء اسم مستعار بـ ApplicationRoute وهذا هو currentModel: function () { return this.modelFor(this.routeName); } لأن هذا مفيد للغاية ومن العار أنه يتم تجاهله. لكننا سنستمر!

ال 4 كومينتر

: +1: مفيد للغاية - عندما أرى في مسار this.modelFor('a.route.name') يجب أن أتحقق جيدًا لمعرفة ما إذا كان هذا هو اسم المسار الحالي أم لا. سيؤدي هذا إلى القضاء على مصدر الارتباك هذا ، خاصةً أنه يبدو أن أفضل ممارسة هي جعل المسار يتعامل مع الإجراءات من خلال التلاعب في نموذجه الخاص ، وليس (بشكل مثالي) نموذج مسار آخر.

ناقشنا هذا في الاجتماع الأساسي للفريق بعد ظهر اليوم ، وقررنا أننا نرغب في الحفاظ على خصوصية هذا الأمر. كما ذكرت this.modelFor(this.routeName) (لقد اشتركت للتو في # 11759 بأننا يجب أن نجعل this.routeName عامًا) طريقة جيدة للقيام بذلك باستخدام واجهات برمجة التطبيقات العامة. يمكنك أيضًا استخدام this.get('controller.model') . يجب أن يزيل كلا الاقتراحين الغموض مع this.modelFor('a.b.c') الذي ذكره davidgoli ..

شكرًا لفتح القضية للمناقشة ، سأختتم الآن بعد أن ناقشنا وقررنا الحفاظ على خصوصيته.

يبدو جيدًا ، سأقوم بعد ذلك بإنشاء اسم مستعار بـ ApplicationRoute وهذا هو currentModel: function () { return this.modelFor(this.routeName); } لأن هذا مفيد للغاية ومن العار أنه يتم تجاهله. لكننا سنستمر!

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