Datahjälpare: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED och Thelpers
QUERIFY([url], object)bygger en frågesträng:null-värden hoppas över, arrayer sammanfogas med kommatecken, datum blir ISO-texter och allt kodas. Med en url läggs den till i den (?eller&), även efter en metod som i'POST /api/x'.STRINGIFY(object, [compress], [fields])ärJSON.stringify()med två alternativ:compress: trueutelämnar tomma texter,nullochfalseoch trimmar texterna;fieldsär en lista över de namn som behålls, en funktion(key, value)som avgör, eller ett objekt därname: falseutelämnar ett fält.ENCRYPT(value, [key], [type])gör en text eller ett objekt till en hexadecimal text som slutar med en kontroll av nyckeln, ochDECRYPT(text, [key], [type])ger tillbaka värdet, ellerundefinednär nyckeln eller typen inte är desamma. Det är en obfuskering för webbläsaren, inte säkerhet: vem som helst kan läsa den utan nyckeln.FN('n => n * 2')kompilerar ett uttryck till en funktion och kommer ihåg den; utan=>är texten kroppen och argumentet hetervalue.NOOP,EMPTYARRAYochEMPTYOBJECT(frysta: de kan inte ändras av misstag),MONTHSochDAYS(namnen på engelska) ochNOW(ettDatesom jComponent håller uppdaterat).- Kodlistor:
CLINIT(name, function(next) {}, [expire], [init])registrerar en lista somfunctionladdar (den anroparnext(value); med en text i stället för en funktion en adress somGET /api/countries/).CL('a,b', callback)laddar de listor som inte är laddade och lagrar var och en iDEF.cl.name(och i tillståndet på den sökvägen);CLRELOAD(name, callback)laddar dem igen. - Översättning:
LOCALIZE(text)laddar en ordbok i formatet för Total.js resursfiler (key : translation, en per rad,//för kommentarer) ochTRANSLATE(text)ersätter varje@(text)med dess översättning (samma text när det inte finns någon). Nyckeln ärTplus textensHASH()i bas 36. UNAUTHORIZED(...names)returnerarfalsenärwindow.userhar en av behörigheterna (user.permissionselleruser.roles, en lista eller ett objekt) eller ärsa/su, och annarstrue(även när det inte finns någon användare).Thelpers(samma objekt somTangular.helpers, ochTaärTangular) innehåller mallarnas hjälpare: lägg till en medThelpers.name = function(value, ...arguments), därthisär modellen, och använd den som{{ value | name(argument) }}.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>jComponent</title>
<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
<p class="out"></p>
</body>
</html> Prova det i din webbläsare
Redigera exemplet och kör det. Det körs i en isolerad ram i din webbläsare; ingenting skickas till vår server.
Förhandsvisning