Category Archives: Szögletes

Hibaelhárítási irányelvek szögletes tipp (Vagy, Learning To Love kötőjelet teljesen vége újra)

Nekem van egy pár, apps, hogy hogy $http.get() hívások, és akartam, hogy képes megmutatni a szépen formázott hibaüzenet jelenik meg a csúnya hiba részleteit rejtett, de elérhető.  Alapvetően, Ez:

image

Majd ha a felhasználó rákattint a hiba, látják, további információ:

image

Egyszerű megtöm.  Mivel a pontos ugyanaz lehetséges hiba jelenhet meg a közigazgatási képernyő, valamint a végfelhasználó számára képernyőn, Ez egyértelműen nevű egyéni szögletes irányelve.  I  Ezt találtam kiváló sorozat cikkek (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) a nagy Dan Wahlin.  A tanácsát követve, Nagyon gyorsan készítettem egy <Helló, világ> irányelv és az összetettebb hiba bemutatás rakli esélytelennek. Én spárgagombolyog-ba egy kis baj, összetettebb irányelvről.  Boldogan, valami véletlen, Azt mondta WebStorm (a szerkesztő használom ezekben a napokban) hogy a JS reszelő volt egy szögletes fájlt, és ez segített nekem kitalálni, hogy a kérdés.  Ez a kód az maga az irányelv:

angular.Module("CDLApp").irányelv("generalCdlErrorHandler", függvény() {

vissza {
korlátozása: "E",
csere: igaz,

hatókör: {
retrieveLastConfigurationError: "&"
},

sablon:
'<div class = "figyelmeztető riasztás-veszély" szerep = "figyelmeztetés" ng-init = "doShowExpandedErrorDetails = true" ng-show = "retrieveLastConfigurationError()">' +
"Volt egy I/O hiba vagy más hiba. Ez általában azért történik, mert a konfigurációs adatok reszelő nem tudott lenni " +
"található, vagy a konfigurációs fájl tartalmazza a pontatlan információk (mint viszonyítási dokumentumtárban " +
"nem létezik).' +
' <br />' +
' <div ng-show = "doShowExpandedErrorDetails">' +
' <a href = "#" ng-kattintson = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Kattintson ide, és elrejthetjük a részleteket." +
' </egy>: ' +
' <br />' +
' <előtti>{{retrieveLastConfigurationError() | JSON}}</előtti>' +
' <br />' +
' </Div>' +
' <div ng-show = "!doShowExpandedErrorDetails">' +
' <a href = "#" ng-kattintson = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Kattintson ide a hiba részletek kibontása." +
' </egy>' +
' </Div>' +
'</Div>'
};
});

Alapvetően, Én létre egy új elemet úgynevezett "generalCdlErrorHandler".  Szüksége van egy funkció úgynevezett retrieveLastConfigurationError való hozzáférés, és hogy kezeli az alkalmazási objektum.  Talán tudtam volna csak használni a szülőtartomány, de úgy érzi, hogy lusta.  Ha valaki azt hiszi, hogy kellett volna, Szeretnék hallani róla a hozzászólások.

Ez volt minden finom, de én nem kapok semmit.  Nincs hiba bukkant fel a konzol (legalább egyszer én rögzített a sx hibák az út mentén létrehozott).  Egyszerűen nem kapok semmilyen kimenetet az irányelv.  Ment, és hozzáadott néhány statikus szöveget, mielőtt az ng-Térkép-irányelv, és * tett *, hogy. Ez jutott eszembe, hogy talán az irányelv nem engedték, hogy implicit módon hozhat létre új vars, mint a "doShowExpandedErrorDetails" vagy "ng-init" van, ott. 

Mentem vissza, hogy, ha én típus, és ez alkalommal WebStorm segített én ki a HTML-be.  Volt nem halad, mint ez a retrieveLastConfigurationError függvényben:

<általános-centrálzár-hiba-kezelő retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</általános-centrálzár-hiba-kezelő>

De valóban szükség van, hogy ez a:

<általános-centrálzár-hibakezelő elhoz-utolsó-konfiguráció-hiba = "CDLController.retrieveLastConfigurationError()">
</általános-centrálzár-hiba-kezelő>

WebStorm volt elég okos, hogy tudja, hogy meg kellett Kötőjeles.  Ha ez nem biztosított, hogy tipp, Én lenne talán lehet még hibaelhárítás ez Mosoly.  Fun-szer!

A trükk az ezt: nem csak az irányelv elemnév elválasztását, tehát van olyan attribútumokat ad hozzá.  Egyszer ki a kötőjeleket, minden munkás nagy.  Dan bemutató történt-hoz használ rövid nevek, így nem csinál a kapcsolatot.

Remél ez segít valaki.

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

HTTP 406 Hiba mikor használ szögletes $http.get ellen SharePoint többi végpontok

Frissítés: Marc AD ndersson rámutatott, ezt a nagy darab info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Hogy sok mindent megmagyaráz :).

Lehet, hogy a legrosszabb cím egy blog felad valaha! Anyhoo.

Általában csinálni, minden az én prototípus ellen O365 példány. Nekem van az én-m személyes például úgy, hogy ne kelljen érintő valaki aggódik. Mint egy félre-emlékszik mikor hívjuk végzett, ezen a környéken: virtuális gépek a mi laptopok-és MOSS-SQL Server, IIS, döntés a Hyper-V vs. VMWare? Anyhoo...

Én alakult egy app segítségével szög ebben a környezetben amit csinál, egyebek, Ez:

$http.Get(serverUrl)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.value.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Ez volt csak finom környezetben dolgozó két különböző SharePoint online. Azonban, Mikor a kollégám átvittem ez egy Cloudshare-példány, ő volt szerzés egy HTTP 406 hiba (melyik volt az első alkalom, amit valaha kaptam, hogy az egyik, így... yay, azt hiszem). Csináltam egy kis kutatást, és észrevettem, hogy az "Elfogadom" fej le. SharePoint online tökéletesen elégedett volt:

Fogadja el: Application/json

De a cloudshare példány (amely az SP prem, a virtuális kiszolgálón tárolt) szerettem volna a klasszikus "odata = verbose" hozzáadott-ban, valamint:

Fogadja el: Application/json;OData = verbose

Rögzíteni, hogy, adtunk a fejlécben ilyen:

var config = {fejlécek: {
'Accept': "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.value.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Hogy megszabadultak az 406, de ez is megváltozott a formátum a válasz. Ez több volt... részletes. (haha!) További módosítások voltak szükségesek, és itt van a végleges eredmény:

var config = {fejlécek: {
'Accept': "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.d.Results.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Ez csak esztergált-ba egy 30 perc probléma a számunkra, Tehát mi lucked arra. Remélhetőleg valaki talál ez hasznos.

</vége>

Útmutató: Többszörös szögletes SharePoint kijelzők engedélyezéséhez ugyanazon az oldalon

Ez a blog hozzászólás ismerteti, hogyan lehet több Angular.js alapuló SharePoint-kijelzők (a Tartalomszerkesztő kijelző koordinátákkal) ugyanazon az oldalon. Hívom a Tartalomszerkesztő kijelző (CEWP) amely hivatkozik a JavaScript a Angular.js keretrendszer egy "szögletes kijelző."

Szög barátait betöltési folyamat szuper könnyű és csak arról szól minden példa megtalálja a internets megy valami ilyesmi:

<HTML ng-app = 'myApp'>

<bla /><bla /><bla />

</HTML>

Ez lebontja, azonban, Ha azt szeretné, ahhoz, hogy több CEWP képviselő több szögletes kijelzőt, ugyanazon az oldalon. Szög lesz csak automatikusan bootstrap ellen az első ng-app irányelv ez megtalál – legalább szögletes verziótól kezdve 1.3.6. A megoldás elég egyszerű – manuálisan bootstrap a kód helyett. A fenti most változik valami ilyesmi:

<szerv>
<d
IV. id =”bootstrapHere” ng-controller =”myController, mint theController”>
<bla /><bla /><bla />
</Div>
</szerv>

<parancsfájl-src =”//Ajax.googleapis.com/Ajax/libs/angularjs/1.3.6/angular.js”></parancsfájl>

<parancsfájl>
angular.Bootstrap(angular.Element(document.getElementById(“bootstrapHere”)),['myApp']);
</parancsfájl>

Alapvetően, helyett használ ng-app-a elem-hoz csinál a bootstrapping, pofon rá az elem ID. Majd, a rendszer a rendszertöltőt használja() módszer, szögletes a maga, hogy ellenőrizzék a bootstrapping folyamat futási időben. Már tesztelték ezt a három különböző szögletes kijelzők ugyanazon az oldalon, és ez szerkezet egy igézet.

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin