kategori Achiv: Ounda kòde

Dépannage ti konsèy pou Directives angilè (Ou, Aprann jan pou renmen Traits tout ankò)

Mwen gen yon koup Des applications $http.get fè sa() apèl e mwen te vle pou kapab montre yon mesaj bien en erreur tout lèd erreur detay hidden, Men aksesib a.  Fondamantalman, sa a:

image

Et puis si la utilisateur clique sou chemen, yo wè plis enfòmasyon:

image

Senp bagay sa.  Depi lè egzat erreur potansyèl menm kapab parèt nan écran administratif a osi byen ke moun kap itilize li an fin écran, li klè rele pou yon angilè directive personnalisés.  mwen  te trouve sa seri en de atik (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) gran pa Dann lan Wahlin.  Swiv vin bay moun konsèy, Mwen byen vit kreye yon <bonjou sou latè> directive Et tranble sou mwen plis konplèks erreur ekspozisyon squeegee. Mwen te la nan yon ti soufri sa a directive plis koze ki senp.  San pwoblèm mwen tap, tri de chans, Mwen te di WebStorm (editè a mwen sèvi ak jou sa yo) dokiman JS an li te genyen yon angilè fichier Et li te ede m' evalye edisyon an.  Sa a se tout kòd pou directive tèt li:

angular.module("CDLApp").directive("generalCdlErrorHandler", fonksyon() {

retounen {
estrenn: "E",
ranplase: vre,

dimansyon: {
retrieveLastConfigurationError: "&"
},

modèle:
'<klas div = "alèt sou kiviv-danje" wòl = "alèt" NG-init = "doShowExpandedErrorDetails = vre" NG-afficher = "retrieveLastConfigurationError()">' +
La pa t fè san yo pa I/O oswa lòt erreur. Sa konn rive paske configuration done fichier pa ta ka ' +
' jwenn ou la configuration fichier contenant inexacte enfòmasyon (tankou qui yon dokiman bibliyotèk la +
' sa pa egziste).' +
' <br />' +
' <div ng-montre = "doShowExpandedErrorDetails">' +
' <yon href = "#" NG Sur = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Cliquez ici kache detay.' +
' </yon>: ' +
' <br />' +
' <pre>{{retrieveLastConfigurationError() | json}}</pre>' +
' <br />' +
' </div>' +
' <div ng-montre = "!doShowExpandedErrorDetails">' +
' <yon href = "#" NG Sur = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Sur la pou elaji erreur detay.' +
' </yon>' +
' </div>' +
'</div>'
};
});

Fondamantalman, Mwen menm ki kreye yon nouvo eleman ki te rele yon "generalCdlErrorHandler".  Li pa bezwen gen aksè pou yon fonksyon ki te rele retrieveLastConfigurationError Et sa traitées nan la portée objet.  Mwen pwobableman te kapab ont jis te itilize portée paran an, Men, sa pa santi parese.  Si yon moun panse mwen ta dwe fè tou sa, Mwen ta renmen tande sa nan kòmantè yo.

Sa te fè tout byen, Men, mwen pa t jwenn anyen.  Pa erreurs été nan konsole a (mwen pare tout sx erreurs mwen te kreye yon chemen nan mwens ke yon fwa).  Mwen tou senpleman isi a pa jwenn okenn sortie de la directive.  M' a e li te ajoute kèk statique tèks devan la directive ng-afficher Et mwen * a * obtenir sa. Sa fè m reflechi ke petèt directive la pa t gen dwa implicitement kreye nouvo vars tankou "doShowExpandedErrorDetails" pa gen yon "ng-init" nan a. 

Mwen t' ap tounen nan HTML pou wè si mwen te gen yon kalite Et WebStorm, fwa sa a te ede m.  Mwen te fin pase nan fonksyon retrieveLastConfigurationError tankou sa:

<jeneral-cdl-erreur-D' retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</jeneral-cdl-erreur-D'>

Men, li te reyèlman bezwen pou sa:

<jeneral-cdl-erreur-D' extraire-dènye-configuration-erreur = "CDLController.retrieveLastConfigurationError()">
</jeneral-cdl-erreur-D'>

WebStorm li te genyen lespri ase pou konnen sa l' te fè pou être liés.  Si li pa te bay conseil sa, Mwen ta pwobableman être toujou dépannage sa Souri.  Amizan fwa!

Akab la, se pou sa: non sèlman eleman directive non liés, Se konsa sont tout attributs ou ajoute pou li.  Yon fwa ke mwen te ajoute traits yo, li tout te travay anpil.  Didacticiel Dann lan a te rive pou sèvi ak non moun ki pa marye yo kout, Se konsa, mwen pa t fè koneksyon an.

Espere ke sa ka ede yon moun.

</fen>

undefinedVous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin

HTTP 406 Erreur lè w ap itilize angilè $http.get kont SharePoint POZE fini pwen

Ajou: Se Marc Piblisite ndersson ki te atire atansyon sa a gwo moso pyès enfòmasyon sou: http://blogs.Office.com/2014/08/13/json-light-Support-Rest-sharepoint-api-Released/. Sa byen eksplike :).

Sa ka fè pi mal pase tout Tit de pòs blog yon tout tan tout tan! Anyhoo.

Mwen sonje bagay fè tout prototypes m' kont yon bagay O365. Mwen gen bagay pèsonèl mwen konsa, mwen pa gen pou enkyete sou ki afekte okenn lòt moun. Kòm yon a kote-sonje lè nou fè apèl a effectué autour virtuel pou machin avanse ordinateurs nou ak bab PANYÒL-SQL sèvè, IIS, décider vs Hyper-V. VMWare? Anyhoo...

Mwen te devlope yon app itilize angilè anviwònman sa a ki fè sa ki nan, pami lòt bagay, sa a:

$http.get(serverUrl)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.value.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa t ap travay jis byen nan de diferan SharePoint online environnements. Sepandan, Lè m' collègue te ports li pou yon bagay Cloudshare, Jezi t' ap yon HTTP 406 erreur (ki te premye fwa a, mwen te gen tout tan tout tan sa a, Se konsa... yay, Mwen panse). Nou te fè yon ti rechèch e te note ke "Aksepte" lento te wete. Sou liy SharePoint li te genyen pafètman kontan ak:

Aksepte: aplikasyon/json

Men bagay cloudshare a (ki se SP sou prem, hébergé nan yon virtuel sèvè) yo te vle a klasik "odata = détaillé" te ajoute nan tou:

Aksepte: aplikasyon/json;odata = détaillé

Pou ka ranje sa, nou te ajoute lento a nan ka konsa:

var config = {en-têtes: {
'Asepte': ' aplikasyon/json;odata = détaillé '
}
};

$http.get(serverUrl,config)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.value.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa a debarase de la 406, Men, li te tou chanje fòma repons lan. Li te genyen plis... détaillé. (haha!) Chanjman plis ont mande Et isit la se rezilta final lan a:

var config = {en-têtes: {
'Asepte': ' aplikasyon/json;odata = détaillé '
}
};

$http.get(serverUrl,config)
.siksè(fonksyon(done, estati, en-têtes, config) {

var getLinksResponse = done;

getLinksResponse.d.results.forEach(fonksyon(theResult) {

// Et sou Et pour mous

Sa sèlman fè yo tounen yon 30 ti pwoblèm pou nou, Se konsa nou lucked. Yon moun trouve sa itil.

</fen>

Procédures: Pèmèt miltip pati angilè SharePoint entènèt nan paj menm

Blog sa a postes dekri ki jan ou ka gen plusieurs Angular.js baze pati entènèt SharePoint (référencé via yon pati entènèt contenu editè) nan menm paj la. M ap rele yon pati entènèt contenu editè (CEWP) sa références JavaScript ki te konstwi itilize-Angular.js yon "angilè Web pati."

Pwosesis D' angilè a super fasil Et chak egzanp nou jwenn sou internets yo se yon bagay tankou sa:

<html ng-app = ke:'>

<blah /><blah /><blah />

</html>

Sa a kase, Sepandan, Si ou vle pou pèmèt CEWP miltip repwezantan miltip pati entènèt angilè nan paj menm. Angilè a sèlman otomatikman D' sou premye directive ng-app li twouve – pou pi piti tankou vèsyon pipiti de youn angilè 1.3.6. Solisyon a te trè senp – lamen D' kòd ou olye de. A CI-dessus kounye a chanje pou yon bagay konsa:

<kò>
<kraze-brize
mete sewòm didantite =”bootstrapHere” NG-contrôleur =”myController kòm theController”>
<blah /><blah /><blah />
</div>
</kò>

<script src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></script>

<script>
angular.bootstrap(angular.element(document.getElementById(“bootstrapHere”)),[':']);
</script>

Fondamantalman, olye ke yo ap itilize ng-app sou eleman ki pou fè ou bootstrapping, ou souflete yon Didantite sou eleman sa. apre, sèvi ak D' a() metòd angilè sou tèt li pou kontwole bootstrapping a travay nan kous-temps. Mwen te gen tès sa a ak twa pati entènèt angilè diferan nan paj menm Et li travay yon bèlte.

</fen>

undefinedVous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin