المحفوظات الشهرية: شباط/فبراير 2015

نصيحة مبسطة لحل المشاكل لتوجيهات الزاوي (أو, تعلم الحب الواصلات في جميع أنحاء مرة أخرى)

لدى بضعة من تطبيقات هذا جعل $http.get() المكالمات، وتريد أن تكون قادرة على إظهار رسالة خطأ تنسيق جيد مع تفاصيل الخطأ القبيح المخفية, ولكن يمكن الوصول إليها.  أساسا, وهذا:

image

ومن ثم إذا كان المستخدم بالنقر فوق الخطأ, أنها رؤية مزيد من المعلومات:

image

الأشياء البسيطة.  حيث يمكن أن تظهر الضبط نفس الخطأ المحتملة في الشاشة الإدارية فضلا عن شاشة المستخدم النهائي, ودعا وضوح توجيه زاوي مخصصة.  أنا  وجدت هذا سلسلة المعلقة من المقالات (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) قبل الكبير دان فلين.  اتباع نصيحته, أنا خلقت بسرعة كبيرة <مرحبا--العالم> التوجيه وتم نقله إلى بلدي ممسحة عرض خطأ أكثر تعقيداً. أنا واجهت قليلاً من المتاعب مع هذا التوجيه أكثر تعقيداً.  لحسن الحظ, نوع من طريق الصدفة, وقد قلت ويبستورم (محرر استخدام في هذه الأيام) أن كان الملف شبيبة ملف زاوي وأنها ساعدت لي معرفة المسألة.  هذا هو الرمز للتوجيه نفسها:

angular.module("كدلاب").التوجيه("جينيرالكدليرورهاندلير", الدالة() {

عودة {
تقييد: "هاء",
استبدال: صحيح,

نطاق: {
ريتريفيلاستكونفيجوراتيونيرور: "&"
},

قالب:
'<div class = "تنبيه تنبيه خطر" دور = "تنبيه" الحرس الوطني-init = "دوشوويكسبانديديرورديتايلس = true" الحرس الوطني-عرض = "ريتريفيلاستكونفيجوراتيونيرور()">' +
' وكان هناك خطأ في الإدخال/إخراج أو غيرها خطأ. يحدث هذا عادة لأنه لا يمكن أن يكون ملف بيانات التكوين ' +
' العثور على أو ملف التكوين يحتوي على معلومات غير صحيحة (مثل الرجوع إلى مكتبة مستندات ' +
' غير موجود).' +
' <br/>' +
' <div نغ-إظهار = "دوشوويكسبانديديرورديتايلس">' +
' <href = "#" الحرس الوطني-انقر فوق = "دوشوويكسبانديديرورديتايلس = ! دوشوويكسبانديديرورديتايلس ">' +
'انقر هنا لإخفاء التفاصيل'. +
' </أ>: ' +
' <br/>' +
' <ما قبل>{{ريتريفيلاستكونفيجوراتيونيرور() | json}}</ما قبل>' +
' <br/>' +
' </div>' +
' <div نغ-إظهار = "!دوشوويكسبانديديرورديتايلس ">' +
' <href = "#" الحرس الوطني-انقر فوق = "دوشوويكسبانديديرورديتايلس = ! دوشوويكسبانديديرورديتايلس ">' +
'انقر هنا لتوسيع تفاصيل الخطأ'. +
' </أ>' +
' </div>' +
'</div>'
};
});

أساسا, أنا إنشاء عنصر جديد يسمى "جينيرالكدليرورهاندلير".  أنه يحتاج إلى الوصول إلى دالة تسمى ريتريفيلاستكونفيجوراتيونيرور والتي يتم التعامل معها في كائن نطاق.  ربما يمكن فقط استخدمت نطاق الأصل, ولكن أن يشعر كسول.  إذا كان أي شخص يعتقد أن قد فعلت ذلك, أنا أحب أن أسمع عنه في التعليقات.

وهذا كان كل شيء على ما يرام, ولكن لم يكن في الحصول على أي شيء.  لا الأخطاء التي برزت في وحدة التحكم (أنا ثابت على الأقل مرة واحدة كل أخطاء sx أنشئت على طول الطريق).  أنا ببساطة لم يحصل أي إخراج من التوجيه.  ذهب، وإضافة بعض النص الثابت قبل التوجيه إظهار نغ، و * هل * الحصول على أن. هذا جعلني أعتقد أنه ربما لم يكن يسمح التوجيه ضمنياً إنشاء فأر جديدة مثل "دوشوويكسبانديديرورديتايلس" أو يكون "نغ init" هناك. 

عدت إلى HTML لمعرفة إذا كان نوع وهذا الوقت ويبستورم ساعدني خارجاً.  وقد تم تمرير أنا في الدالة ريتريفيلاستكونفيجوراتيونيرور مثل هذا:

<retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError cdl العامة-معالج خطأ()">
</العامة cdl معالج خطأ>

ولكن كان هناك حاجة فعلا أن يكون هذا:

<العامة-cdl-خطأ-معالج استرداد-الأخيرة-التكوين-خطأ = "CDLController.retrieveLastConfigurationError()">
</العامة cdl معالج خطأ>

ويبستورم كان ذكيا بما يكفي أن نعرف أنه كان عليها أن يكون تطبيق الواصلة.  إذا لم أكن قد قدمت هذا التلميح, أنا سوف ربما يكون لا يزال استكشاف الأخطاء وإصلاحها وهذا ابتسامة.  أوقات المرح!

هذا خدعة: ليس فقط هو اسم عنصر التوجيه بالواصلة, هكذا هي سمات أي يمكنك إضافة إلى ذلك.  بمجرد أضفت الواصلات, كل شيء عملت كبيرة.  حدث تعليمي دان استخدام أسماء قصيرة واحدة, لذا لم أكن جعل الاتصال.

أمل أن يساعد هذا شخص.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

IE9 حقاً لا أحب ذلك عندما كنت تأخذ اختصار مع الخاص بك <تمتد> العلامات

لقد سقطت أنا في عادة سيئة لاستخدام الكروم في كل وقت.  أنها "سيئة" للأشياء التي يمكنني تطوير يحتاج حقاً تشغيل على الكثير من متصفحات الويب الأخرى, بما في ذلك, للأسف IE8.  وقد جهاز الكمبيوتر المحمول العمل القياسية IE9 لأي سبب من الأسباب) وكانت تفعل سريعة تحقق لمعرفة ما هي الأشياء بدت مثل و.. أنها لم تكن جميلة.  وعلى سبيل المثال:

image

قد * يفترض * هذا الشكل:

image

 

ليس فقط كان قبالة, ولكن لم تكن إطلاق الأحداث انقر فوق بلدي.  (معظمهم, على أية حال).

بصريا, بدأ أن الأمور بدأت تنفجر القضبان القرب من الارتباط "الإعداد المتقدم".  حفرت في ذلك الجزء من HTML، ووجدت أن هذا الخط:

<تمتد الطبقة = "جليفيكون جليفيكون--إطار جديد"/>

يبدو أن بناء الجملة المسموح بها (كروم الإصدار " 40.02214.94 m "على ما يرام معها). ذهب، وتغييره على أي حال, كما هو موضح:

<تمتد الطبقة = "جليفيكون جليفيكون--إطار جديد"></تمتد>

ذلك أنها ثابتة.

هذا شيء قليل صغير تسبب فوضى ضخمة من الشاشة.  أوقات المرح.

حدث هذا يكون حل سريع, ولكن كما أنها نوع الشيء الذي يحصل فقط على العمود الفقري الخاص خارج المحاذاة عند رؤية ذلك.  هناك أكثر من 500 خطوط HTML في هذه الدالة المشرف قليلاً وأنت فقط لا تريد أن تجد نفسك حفر بين تلك الأعشاب, من أي وقت مضى ابتسامة.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin