Problemo-pafanta Konsileton Por Angular Instrukcioj (Aŭ, Lernanta Ami Dividostrekojn #?iu Super Denove)

Mi havas paron de apps ke faro $http.Akiras() Vokoj kaj mi deziris esti kapabla montri agrable formatted eraron #mesa?o kun malbela eraro detalas #ka?i, Sed alirebla.  Resume, Tio ĉi:

image

Kaj tiam se la uzantaj klakoj sur la eraro, Ili vidas pli info:

image

Simpla #a?o.  Pro tio ke la #?usta sama potenciala eraro povas aperi en la administracia ekrano tiel kiel la fina uzanta ekrano, ?i klare petis #la?menda Angular instrukcio.  I  Fondi #tio ?i Elstara serio De artikoloj (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) De la granda Dan Wahlin.  Sekvanta lian konsilon, Mi tre rapide kreis <Halo-mondo> Instrukcio kaj movis sur al mia pli kompleksa erara #montri?o squeegee. Mi kuris en iom de problemo kun #?i tiu pli kompleksa instrukcio.  #Feli?e, Speco de de #?anco, Mi diris WebStorm (La redaktoro mi uzas #?i tiu tagojn) KE la JSa dosiero estis Angular dosiero kaj ?i helpis min elkalkuli la aferon.  #Tio ?i estas la kodo por la instrukcio ?i mem:

Angular.Kapsulo("CDLApp").Instrukcio("GeneralCdlErrorHandler", Funkcio() {

Reveno {
Restrikti: "E",
Anstataŭigi: Vera,

Amplekso: {
RetrieveLastConfigurationError: "&"
},

Ŝablono:
'<Div klasifikas="atentigan atentigon-#dan?ero" Rola="atentigo" Ng-init="doShowExpandedErrorDetails = vera" Ng-rezulto="retrieveLastConfigurationError()">' +
' Estis I/O eraro #a? alia eraro. #Tio ?i kutime okazas #?ar konfiguracia datumo dosiero ne povus esti ' +
' Trovita #a? la konfiguracia dosiero enhavas eraran informon (Kiel referencanta dokumentan bibliotekon ' +
' Tio ne ekzistas).' +
' <Br/>' +
' <Div ng-rezulto="doShowExpandedErrorDetails">' +
' <href="#" Ng-klako="doShowExpandedErrorDetails = ! DoShowExpandedErrorDetails">' +
' Klako #?i tie #ka?i detalojn.' +
' </al>: ' +
' <Br/>' +
' <Pre>{{RetrieveLastConfigurationError() | Json}}</Pre>' +
' <Br/>' +
' </Div>' +
' <Div ng-rezulto="!DoShowExpandedErrorDetails">' +
' <href="#" Ng-klako="doShowExpandedErrorDetails = ! DoShowExpandedErrorDetails">' +
' Klako #?i tie vastigas erarajn detalojn.' +
' </al>' +
' </Div>' +
'</Div>'
};
});

Resume, I?? Kreanta novan elementon vokis ??EneralCdlErrorHandler??  ?i devas aliron al funkcio vokis retrieveLastConfigurationError kaj tion?? Pritraktita en la ampleksa objekto.  Mi #ver?ajne povus havas nur uzita la gepatron?? Amplekso, Sed ke sentas maldiligentan.  Se iu ajn pensas min devus fari tion, I?? Amo #a?di pri ?i en la rimarkoj.

#Tio ?i estis #?iuj bona, Sed mi wasn?? Akiranta ion ajn.  Neniuj eraroj krevis supre en la regilaro (#Almena? unufoje mi riparis #?iuj la sx eraroj mi kreis #la? la vojo).  Mi simple didn?? Akiras ajnan produktadon de la instrukcio.  Mi iris kaj aldonita iun senmovan tekston #anta? la ng-rezulta instrukcio kaj mi ja* akiris tion. #Tio ?i faris min pensas ke eble la instrukcio wasn?? Permesita al implicitly kreas novan vars #?ati ??OShowExpandedErrorDetails?? #A? havas ??G-init?? En tie. 

Mi revenis en la HTML vidi se mi havis tipon kaj #?i tiu tempon WebStorm helpis min ekstere.  Mi estis pasanta en la retrieveLastConfigurationError funkcio tiel:

<#?Enerala-cdl-eraro-prizorganto retrieveLastConfigurationError="CDLController.RetrieveLastConfigurationError()">
</#?Enerala-cdl-eraro-prizorganto>

Sed ?i vere devis esti #tio ?i:

<#?Enerala-cdl-eraro-prizorganto reprenas-lasta-konfiguracio-eraro="CDLController.RetrieveLastConfigurationError()">
</#?Enerala-cdl-eraro-prizorganto>

WebStorm estis lerte #sufi?a scii ke ?i devis esti hyphenated.  Se ?i hadn?? Se tiu sugesto, I?? #Ver?ajne esti #ankora? troubleshooting #tio ?i rideto.  Amuzaj tempoj!

La ruzo estas #tio ?i: Ne nur estas la instrukcia elementa nomo hyphenated, Do estas ajnaj ecoj vi aldonas ?in.  Unufoje mi aldonis la dividostrekojn, ?i #?iu laboris grandan.  Dan?? Seminario okazita uzi mallongajn ununurajn nomojn, Do mi didn?? Faras la konekton.

Hope tio ĉi helpas iun.

</Fino>

undefinedAboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Lasi Respondon

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita *