: //europa.eu.int /comm /75,,,,,,,,,,,, 20 aandelen,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen Tot slechts drie dollar.Niet' niet missen, over AngularJS, het belangrijkste is dat we de uitbreiding,: //europa.eu.int /comm /functies, in dienst van de dynamiek van de website van vandaag. in dit verslag, en ik zal je laten zien hoe je met de richtlijn laat de ontwikkeling van AngularJS sneller, eenvoudiger en gemakkelijker te handhaven, je code.,,,,, voorbereiding van maatregelen 1:HTML model,,, hou het simpel, we gaan al onze code in een http: //europa.eu.int).Het creëren van het model van de http: //europa.eu.int:,, <.Doctype: //europa.eu.int /comm /> < http: //europa.eu.int > < hoofd > < /hoofd > < lichaam > < /body > < /html >,, die nu toetreden, in angular.min.js, Google, < van CDN documenten; hoofd > dit document: het script, < src = 'http: //Ajax. Googleapis. COM /Ajax /library /AngularJS /1.2.16 /hoek. J' s "> < /scripts >,,, stap 2: het creëren van een module,,, laten we nu tot onze richtlijn module.Ik noem het, bijvoorbeeld, maar je kan kiezen wat je wilt, zolang we gebruik zullen maken van deze benaming als een indicatie van een , creëren we na. Om dit deel van de code in een script de bodem van het etiket, < hoofd >,,, var module = hoek:. - ('example, [...]);,, we hebben geen relatie, dus in de tweede reeks, hoek. De module (), is leeg, maar niet geheel te schrappen of je krijgt een $spuit: nomaden fout, omdat een vorm van parameters, hoek. De module (), het herstel van De reeds bestaande modules, in plaats van het creëren van een nieuwe een.,, je hebt ook met programma 's, Ng = "voorbeeld", de eigenschappen, de < body>, etikettering van toepassing.Na dit dossier moet worden, en het ziet er als volgt uit:;.Doctype html> < html> < head> < script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js" > < /script> < script> var de module = angular.module ('example', [...]); < /script> < /head> < het ng-app= "voorbeeld" > < /body> < /html>, de Directive: 1337 C0NV3R73R een,,,,,,, we will create a om de richtlijn ook te ngBind dat zal werken, maar het zal veranderen de tekst naar de leet speak. stap 1: de verklaring van de richtlijn,,,,,, die zijn aangegeven met behulp van, module.directive (), Captain,, module.directive ('exampleBindLeet', functie () (,, de eerste argument is de naam van het directive.Het moet een CamelCase, maar omdat de: //europa.eu.int /comm /is niet gevoelig zou je met streepjes gescheiden (bijvoorbeeld kleine gebonden in je LEET): //europa.eu.int /comm /, functie, via de als tweede argument moet terugkeren met een beschrijving van het voorwerp van de richtlijn.Nu is het alleen een eigenschap: functie: banden terug (link: link};}); stap 2:,, banden, kan je in de terugkeer van de verklaring voor de functie in de definitie van de voorwerpen terug, of direct terug.Het is het manipuleren van onze richtlijnen zijn van toepassing op elementen van de DOM en roept de drie parameters:,, functionele banden ($dollar bereik, elementen en kenmerken), de reikwijdte van de (,,,, is een hoek van de werkingssfeer van de richtlijn betreft, is de dollar met elementen van het pakket, dom elementen (in jqlite, AngularJS de subgroep is de meest voorkomende functie), eigendom, is alle elementen van de eigenschappen van het object (normalisatie van de naam, dus bijvoorbeeld bindende laat beschikbaar zal zijn, attributen. Examplebindleet,), het functioneren van de richtlijn, hebben we een zo eenvoudig mogelijke code ziet er als volgt Uit:,, var leettext = examplebindleet eigenschap. (abegilostz] /[. Ter vervanging van de functie van /GMI, (brief) {terug laten [te]. Tolowercase ();}); $element. De tekst (leettext);}, ten eerste,We vervangen bij het verstrekken van een brief van de tekst, zoals de vervanging van de formele en bindende leet attributen.Tabel ziet er als volgt uit:,, de VAR - leet = (een "4": b: "8", dat wil zeggen: "drie", G:'6 "en ik:"! "En ik: "1": "0", "5", de: T:7, z: "2");,, leg het op de top, < script> de etikettering.Zoals je kan zien, dit is een van de meest fundamentele alleen laten. in plaats van tien tekens.,, later, zeggen we dat we met jqlite omgezet in een formele, (s), leg het op de in deze richtlijn dezelfde elementen voor de interne teksten.,, nu kun je dit: //europa.eu.int /comm /code, en LT - test; body> de documenten:,, < die aanleg gebonden leet = "van deze tekst zal worden omgezet in LEET spreken."> < /div >,, de produktie moet uitzien:,, maar dat is niet waar, ngbind, begeleiding.We zullen in de volgende stap 3:.,,,,,, in de eerste plaats, in het verleden is, zoals in het geval van bindende leet eigenschap dient te worden verwezen naar de in het kader van een variabele, niet wij de tekst om te zetten.Daarom moeten we de oprichting van een geïsoleerde binnen het toepassingsgebied van de richtlijn. ,, kunnen we dat bereiken door onze richtlijn functie terug. De toevoeging van een aantal voorwerpen:,, modules, van richtlijn ('examplebindleet functies () {...Terug naar de {banden: banden, bereik: {}}); en het voorwerp van elke eigenschap kan in het kader van de in de richtlijn zal bieden.Het zal afhangen van de waarde van de waarde hier.Als we het gebruik van "-" waarde is de waarde van dezelfde eigenschappen van de eigenschappen en kenmerken van dezelfde naam.Het gebruik van "=" wil zeggen dat de samensteller van verwachten wij van de huidige werkingssfeer van de variabelen worden doorgegeven, zoals ngbind:,,,, bereik: {examplebindleet:'= "}, je kan ook gebruik maken van een eigenschap van de naam en de normalisatie (voor de omrekening van camelCase) of = naam eigenschap:,, het toepassingsgebied van de tekst:": {= examplebindleet "), welke het meest geschikt is voor u.Nu moeten wij ook de functie van veranderingen in het kader van het gebruik van banden, in plaats van eigenschap:,, functionele banden ($dollar bereik, elementen en kenmerken) {VAR leettext = dollar bereik. Examplebindleet. In plaats van abegilostz] /[(/), functionele (brief) {terug laten [tolowercase ().];}); $element. De tekst (leettext);}, nu het gebruik van nginit of het creëren van een controleur en de waarde van die veranderingen, zoals de binding leet eigenschap gebruik je de naam van de variabele:,, < programma 's lichaam NG = "voorbeeld" ng ervan = "texttoconvert =" van deze tekst zal voor de omrekening van kleine praten! "> < die aanleg gebonden leet = "texttoconvert" > < /div > < /body >,,, stap 4: opsporing van wijzigingen, maar wat, of niet, ngbind, werkt.Kijk, laten we nog een inbreng in de pagina 's van veranderingen in de waarde van het gebied texttoconvert:,, < input NG = "model" > texttoconvert, als je nu open pagina' s tekst, te veranderen in wat je zou zien in het veranderen van onze, div.Dit is omdat de link (), functie, op een keer, tijdens het opstellen van elke richtlijn en kan dus geen verandering van de inhoud van de elementen, elke keer als er iets verandert, veranderen. , zullen we gebruik maken van het toepassingsgebied van de methode. () dollar.Het aanvaarden van twee parameters: de eerste is de uitdrukking van de hoek, zal elke keer is de reikwijdte van de beoordeling van de tweede wijziging is, een functie die wordt genoemd, de waarde van de uitdrukking veranderd.,, laten we in de eerste plaats, de link (code), binnen het lokale functie:,, functionele banden ($dollar bereik, elementen en kenmerken van de functie) {converttext () {VAR leettext = dollar bereik. Examplebindleet. Vervangen (/[abegilostz] /GMI, functionele (brief) {terug laten [te]. Tolowercase ();}); $element. De tekst (leettext);}}, na de functie van ons zou bellen, en c) dat de dollar (de werkingssfeer van de dollar, dus. - ('examplebindleet ", convertleet);,, als je nu open de pagina 's en wat dingen veranderen, je zal zien in de input - gebied van de inhoudWe zijn veranderd, die, zoals verwacht, de richtlijn.,,.,: vooruitgang, en nu moeten wij een richtlijn voor te schrijven, creëren we de vooruitgang.Dat doen, zullen we gebruik maken van een van de nieuwe elementen van vooruitgang: bijvoorbeeld, < >,,,,, stap 1: stijl, en laten we de voortgangsbalk ziet eruit als een vooruitgang dat we gebruik moeten maken van wat de CSS.Dit deel van de code, < stijl > in het hoofd, < voorbeeld: het document >,,, vooruitgang {blijkt dat blok; breedte: 100%; de positie ten opzichte van de grens:;: 1 - pixel zwarte vaste stof; lengte: 18px; vooruitgang in De positie progressbar {}). De absolute top::; 0; links: 0; hierna: 0; achtergrond: groene;} gevallen van vooruitgang. Progressvalue {positie: absolute; de hoogste: 0; links: 0; rechts: 0; hierna: 0; aanpassing van de tekst: het Centrum;}, zoals u kunt zien, is dit zeer fundamentele - we gebruiken in combinatie met de positie van de, de absolute en relatieve positie::,,, groene BAR en onze interne, < bijvoorbeeld vooruitgang >,.,,, stap 2: de aard van de richtlijn, het moet kiezen, en Een minder dan de vorige.Kijk naar deze code (steek je, < script>, etiketten):,, modules, van richtlijn ('exampleprogress "functies () {terugkeer {beperkingen: de" e ", het toepassingsgebied: (waarde:" = "," = "), - model:" banden: link};)); en, zie je dat we nog steeds gebruik (er zijn twee eigenschappen van de maximale waarde van de huidige waarde van de maximale waarde van de tijd en de link ()), functie, maar er zijn twee nieuwe eigenschap:,,, beperking van: "e" - dat een van de elementen te vinden In plaats van te vertellen.Misschien is de waarde van de,,, "": de eigenschap die naam (dit is de standaard gedrag, dus je hoeft het niet als je wilt dat die eigenschap), e - alleen met de naam van de elementen,, C - wedstrijd alleen in naam,,, je kan ze combineren, bijvoorbeeld "AEC zal overeenkomen met de kenmerken, het element en de naam van het model:.,," laat veranderen we van onze eigen interne: //europa.eu.int /comm /(ook als je alleen wil templateurl uit het dossier van de http: //europa.eu.int), en, natuurlijk, we gaan niet helemaal leeg.De: //europa.eu.int /comm /:,, < div = "vooruitgang" > < /div > < div = "progressvalue" > {}} {percentvalue% < /div >,, zoals je kan zien, kunnen we Ook gebruik maken van de hoek van percentvalue uitdrukking model, de werkingssfeer van de richtlijn.,,, stap 3: banden, die vergelijkbaar is met de richtlijn, die eerder een.Ten eerste, het creëren van een lokale functioneren, zal de uitvoering van de logica van de richtlijn - in dit geval, de vernieuwing, de percentvalue en instellingen, div.progressbar, breedte:,, functionele banden ($dollar bereik, elementen en kenmerken van de functie) {updateprogress () {VAR percentvalue = wiskunde. Ronde (scope.value dollar per dollar scope.max * 100 dollar); scope.percentvalue = wiskunde. Min (wiskunde. Max (percentvalue, 0), 100); $dollar. Kinderen () [0]. Style.width = $scope.percentvalue +%;}}, zie je, we kunnen niet worden gebruikt. De CSS (), verandering van De breedte van de div.progressbar, omdat jqlite niet steunen - in Children (,,).We moeten ook het gebruik van wiskunde. Min (), en wiskunde. Max (), het behoud van 0% en 100% van de waarde van tussen (), wiskunde. Max, de terugkeer van 0, als precentvalue van minder dan 0, wiskunde. Min (), terug van 100, als percentvalue, hoger dan 100, in plaats van twee dollar, (de) dollar. Kijk, telefoon (we zien scope.value veranderingen, de dollar, de grootste en) Laten we gebruik maken van de werkingssfeer van de dollar. Watchcollection (), die soortgelijke maar, het is in de aard, de omvang en de gevolgen watchcollection: dollar. $("[], de maximale waarde, de updateprogress);,, dat onze string eruit ziet als de eerste van een reeks parameters, in plaats van javascript -.,, kijken hoe het werkt de eerste wijziging, nginit, het starten van twee variabelen:,, < programma 's lichaam ng =" voorbeeld "ng ervan =" = "dit texttoconvert tekst zal omschakeling tO heer praten! "; progressvalue = 20; progressmax = 100 ">,, en dan ook nog, < patiënten met progressieve >, yuan, div, gebruiken we voor:,, waarde = < patiënten progressvalue" vooruitgang "maximum" progressmax "> < /gevallen vooruitgang >,,, < body>, eruit moet zien:,, < programma 's lichaam NG =" voorbeeld "=" = "texttoconvert ng van ondernemers van deze tekst zal worden omgezet in LEET spreken."; progressvalue = 20; progressmax = 100 "> < die aanleg gebonden leet =" texttoconvert "> < /div > < gevallen waarde = progressvalue" vooruitgang "maximum" progressmax "> < /gevallen vooruitgang > < /body >, en dit is het resultaat. Stap 4:,,, het gebruik van): toevoeging van animatie,,, als je een toename van de investeringen, progressvalue, progressmax, zoals:,, < input NG =" model "> progressvalue < input NG =" model "> progressmax, dan zie je, als je je de verandering van de breedte van de onmiddellijke waarde is.Het ziet er beter uit laten we gebruik maken van de animatie).Het is AngularJS voordeel is, als je met inbegrip van < script>:,, hoek automatisch vervangen door het jqlite dollar, waardoor een goede doel,,.,, dus laten we beginnen met dit script, < hoofd > voor AngularJS documenten:,, het script src = < "http: //code.). COM /jquery-2.1.0. J 's" > < /scripts >,, nu kunnen we veranderen, updateprogress (), met behulp van de functie), animate (). De methode is.Een wijziging van deze regel:,, $dollar. Kinderen () [0]. Style.width = $scope.percentvalue +%; dit:,,,,, yuan. Kinderen (". Progressbar). Stop de (echt). De animatie ((breedte: $scope.percentvalue +%}),,, moet je Een mooie animatie vooruitgang.We moeten gebruik maken van deze methode. () stoppen, als we een waarde van verandering, en in afwachting van de voltooiing van de animatie animatie (proberen om het te schrappen en de waarde verandert snel zien waarom het nodig is),,,, je moet natuurlijk verandering CSS en het mogelijke gebruik van je in toepassing van Andere losse functie met je stijl.,,.,,, conclusies, de richtlijn is een AngularJS webontwikkelaar krachtig instrument.Je kan de oprichting van een groep van je eigen richtlijn ter vereenvoudiging en verbetering van uw proces.Je kunt creëren slechts beperkt in je verbeelding en je kan al je server model AngularJS richtlijn.,,,,, nuttige links, hier zijn een paar banden AngularJS documenten:,,, ontwikkeling van de gids: Richtlijn, algemene richtsnoeren, jqlite API, API (hoek. $),
De uitbreiding van de richtlijn met de AngularJS: //europa.eu.int /comm /uitbreiding van de richtlijn AngularJS
Next Page:Module, de toekomst van de methode te