Помощници за данни: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED и Thelpers
QUERIFY([url], object)изгражда низ на заявка: стойноститеnullсе пропускат, масивите се свързват със запетаи, датите стават ISO текстове и всичко се кодира. С url се добавя към него (?или&), също след метод като в'POST /api/x'.STRINGIFY(object, [compress], [fields])еJSON.stringify()с две опции:compress: trueпропуска празните текстове,nullиfalseи подрязва текстовете;fieldsе списък с имената, които се запазват, функция(key, value), която решава, или обект, къдетоname: falseпропуска поле.ENCRYPT(value, [key], [type])превръща текст или обект в шестнадесетичен текст, който завършва с проверка на ключа, аDECRYPT(text, [key], [type])връща стойността илиundefined, когато ключът или типът не са същите. Това е заглушаване за браузъра, не сигурност: всеки може да го прочете без ключа.FN('n => n * 2')компилира израз във функция и я запомня; без=>текстът е тялото, а аргументът се казваvalue.NOOP,EMPTYARRAYиEMPTYOBJECT(замразени: не могат да се променят по грешка),MONTHSиDAYS(имената на английски) иNOW(Date, който jComponent поддържа актуален).- Списъци с кодове:
CLINIT(name, function(next) {}, [expire], [init])регистрира списък, койтоfunctionзарежда (извикваnext(value); с текст вместо функция, адрес катоGET /api/countries/).CL('a,b', callback)зарежда списъците, които не са заредени, и съхранява всеки вDEF.cl.name(и в състоянието на този път);CLRELOAD(name, callback)ги зарежда отново. - Превод:
LOCALIZE(text)зарежда речник във формата на ресурсните файлове на Total.js (key : translation, по един на ред,//за коментари), аTRANSLATE(text)замества всяко@(text)с превода му (същия текст, когато няма такъв). Ключът еTплюсHASH()на текста в основа 36. UNAUTHORIZED(...names)връщаfalse, когатоwindow.userима едно от правата (user.permissionsилиuser.roles, списък или обект) или еsa/su, иtrueв противен случай (също когато няма потребител).Thelpers(същият обект катоTangular.helpers, аTaеTangular) държи помощниците на шаблоните: добавете един сThelpers.name = function(value, ...arguments), къдетоthisе моделът, и го използвайте като{{ 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> Опитайте в браузъра си
Редактирайте примера и го изпълнете. Работи в изолирана рамка във вашия браузър; нищо не се изпраща към нашия сървър.
Преглед