Kuukausiarkistot: Helmikuuta 2015

Vianetsintää Vihje kulmikas direktiivien (Tai, Learning To Love tavuviivat uudelleen)

Minulla on pari apps että ehtiä $http.get() puhelut ja halusi näyttää kauniisti muotoillun virhesanoman ruma virhe tiedot piilossa, mutta saatavilla.  Pohjimmiltaan, Tämä:

image

Ja sitten jos käyttäjä napsauttaa virhe, he näkevät lisätietoja:

image

Simple kamaa.  Koska täsmälleen sama mahdollinen virhe voi esiintyä hallinto näyttö sekä käyttäjä-näyttö, se vaati selvästi mukautettu kulma direktiivin.  I  Löysin tämän erinomainen sarja artikkeleita (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) suuri kiitos Dan WÃ¥hlin.  Jälkeen hänen neuvoja, Loin hyvin nopeasti <Hello-maailma> direktiivi ja muutti edelleen monimutkaisempi virhe näytön lastalla. Törmäsin vähän ongelmia tämän monimutkaisempi direktiivin.  Onneksi, tavallaan sattumalta, Olin kertonut WebStorm (toimittaja käytän nykyään) JS-tiedoston oli kulmikas tiedosto ja se auttoi minua selvittää ongelman.  Tämä on koodi itse direktiivin:

angular.Module("CDLApp").direktiivin("generalCdlErrorHandler", funktio() {

paluu {
rajoittaa: "E",
korvaa: tosi,

soveltamisala: {
retrieveLastConfigurationError: "&"
},

malli:
'<div class = "varoittaa hälytys-vaara" rooli = "varoittaa" ng-init = "doShowExpandedErrorDetails = true" ng-show = "retrieveLastConfigurationError()">' +
"I/o-virhe tai muu virhe. Tämä tapahtuu yleensä siksi configuration tiedosto ei voitu " +
"löytyy tai määritystiedosto sisältää virheellistä tietoa (kuten vertailemalla asiakirjakirjastoon " +
"ei ole).' +
' <br />' +
' <div ng-show = "doShowExpandedErrorDetails">' +
' <href = "#" ng-click = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Piilota tiedot napsauttamalla tätä." +
' </a>: ' +
' <br />' +
' <Pre>{{retrieveLastConfigurationError() | JSON}}</Pre>' +
' <br />' +
' </div>' +
' <div ng-show = "!doShowExpandedErrorDetails">' +
' <href = "#" ng-click = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Napsauttamalla tätä voit laajentaa virhetiedot." +
' </a>' +
' </div>' +
'</div>'
};
});

Pohjimmiltaan, Olen luomassa uutta elementtiä kutsutaan "generalCdlErrorHandler".  Se on toiminto nimeltä retrieveLastConfigurationError ja jotka käsitellään soveltamisala-objektiin.  Olisin luultavasti voinut vain käyttää vanhempien soveltamisala, mutta se tuntuu laiska.  Jos joku ajattelee, olen tehnyt sen, Olisi kiva kuulla sen kommentteja.

Tämä kaikki oli hyvin, mutta en ollut saada mitään.  Ei virheitä konsoli ilmestyi (vähintään kerran korjasin kaikki sx virheet loin matkan varrella).  En vain saanut mitään tulostetta direktiivistä.  Menin ja lisätty staattista tekstiä ennen ng-show direktiivissä ja * teki * tuohon. Tämä sai minut ajattelemaan, että ehkä direktiivin saanut epäsuorasti luoda uusi vars kuten "doShowExpandedErrorDetails" tai "ng-init" siellä. 

Menin takaisin nähdä, jos olisin tyyppi ja tällä kertaa WebStorm apulainen we rikki html.  Oli ohi tältä retrieveLastConfigurationError-toiminto:

<yleinen-cdl-virheenkäsittelijä retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</yleinen-cdl-virheenkäsittely>

Mutta se todella tarvitaan, jotta tämä:

<yleinen-cdl-virheenkäsittelijä Hae-viimeinen-kokoonpano-virhe = "CDLController.retrieveLastConfigurationError()">
</yleinen-cdl-virheenkäsittely>

WebStorm oli fiksu tietää, että se piti olla yhdysmerkkiä.  Jos se ei ollut toimittanut tämä vihje, Minulla luultavasti olla vielä vianmääritys tämä Hymy.  Fun kertaa!

Temppu on: paitsi direktiivin elementtinimi on asetettu, siis kaikki ominaisuudet, voit lisätä siihen.  Kun lisäsin tavuviivoja, Kaikki toimi hyvin.  Danin opetusohjelma sattui käyttämään lyhyt yhden nimiä, joten en tee yhteys.

Toivottavasti tämä auttaa jotakuta.

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

IE9 Ei todella sitä kun otat pikakuvakkeen sinun <span> Tagit

Olen pudonnut paha tapa käyttää Chrome koko ajan.  Siksi "huonoja" juttuja, voin kehittää todella tarvitsee ajaa paljon muut web-selaimet, mukaan lukien, Valitettavasti IE8.  Työni laptop on IE9 standardi jostain syystä) ja olen juuri tekemässä nopeasti tarkistaa, mitkä asiat näytti kuin ja... se ei ollut kaunis.  Esimerkiksi:

image

On * tarkoitus * näyttää tältä:

image

 

Ei vain se oli pois, mutta napsauttamalla tapahtumia ei ampua.  (Useimmat niistä, joka tapauksessa).

Visuaalisesti, näytti siltä, asiat alkoivat mennä raiteiltaan lähellä "Kehittynyt asetus"-linkki.  Kaivoin siihen osaan HTML ja huomasin olevani tämä rivi:

<span class = "glyphicon glyphicon-uusi-ikkuna" />

Tämä tuntuu sallittu syntaksi (Kromi versio" 40.02214.94 m"on hieno kanssa). Menin ja vaihtanut joka tapauksessa, kuten:

<span class = "glyphicon glyphicon-uusi-ikkuna"></span>

Että irtautumaton se.

Pienen pieni asia aiheutti valtava sotku näyttö.  Fun kertaa.

Tämä tapahtui nopeaa ratkaisua, mutta se on myös sellainen asia, joka saa selkärangan linjassa vain, kun näet sen.  On yli 500 HTML-rivejä vähän admin-toiminto ja voit vain halua löytää itsesi Kaivuulaitteet keskuudessa rikkaruohot, koskaan Hymy.

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin