Συντομεύσεις κατάστασης: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED και CACHEPATH
Αυτές οι συναρτήσεις δουλεύουν με την κατάσταση του jComponent μέσω διαδρομής ('user.visits'), όπως τα SET() και GET(), και κάθε μία ειδοποιεί τα στοιχεία και τους παρατηρητές της διαδρομής.
- Το
INC(path, [value])προσθέτειvalue(προεπιλογή1) σε έναν αριθμό· όταν η τιμή είναι κενή ξεκινά από0και όταν είναι κείμενο διαβάζεται πρώτα ως αριθμός. - Το
TOGGLE(path)αλλάζει μια λογική τιμή (μια κενή τιμή γίνεταιtrue). ΤοNUL(path)και το συνώνυμό τουNULL(path)ορίζουν την τιμή σεnull. - Το
UPDATE(path)(συνώνυμοUPD) ειδοποιεί όλους όσους χρησιμοποιούν τη διαδρομή χωρίς να αλλάξει την τιμή: χρησιμοποιήστε το αφού τροποποιήσετε ένα αντικείμενο ή πίνακα επί τόπου. - Το
UNWATCH(path, [fn])αφαιρεί τους παρατηρητές της διαδρομής που δημιουργήθηκαν μεWATCH()· μεfnμόνο αυτόν. - Το
WAIT(fn or path, callback)εκτελεί τοcallbackμόλις η συνάρτηση επιστρέψει κάτι αληθές ή η διαδρομή αποκτήσει τιμή. Ελέγχει αμέσως και μετά κάθε 500 ms. - Το
BLOCKED(key, timeout, [callback])επιστρέφειfalseτην πρώτη φορά καιtrueγια τα επόμεναtimeoutms (δουλεύει και το'5 seconds'): είναι προστασία από διπλό κλικ ή επαναλαμβανόμενο αίτημα. Τοcallbackεκτελείται μόνο όταν δεν είναι μπλοκαρισμένο. - Το
CACHEPATH(path, expire, [default])κρατά μια τιμή της κατάστασης στην cache (CACHE()): ορίζει τη διαδρομή στην αποθηκευμένη τιμή όταν υπάρχει (ή στοdefault, που μπορεί να είναι συνάρτηση) και αποθηκεύει κάθε αλλαγή κάτω από το κλειδίpath_path. - Μια διαδρομή είναι μια διαδρομή στην κατάσταση της σελίδας, οπότε ένα όνομα όπως
nameήlocationείναι ιδιότητα τουwindow: χρησιμοποιήστε δικά σας ονόματα (person,prefs.mode). - Το
setTimeout2(id, fn, ms, [limit], [param])είναι έναsetTimeout()με debounce: η εκ νέου κλήση με το ίδιοidεπανεκκινεί τον χρονιστή, οπότε τοfnεκτελείται μία φορά,msμετά την τελευταία κλήση. Μεlimitο χρονιστής επανεκκινείται το πολύ τόσες φορές και οι επόμενες κλήσεις αγνοούνται μέχρι να εκτελεστεί τοfn, ώστε μια ροή κλήσεων να μην μπορεί να το αναβάλλει για πάντα. ΤοclearTimeout2(id)τον ακυρώνει και επιστρέφειtrueόταν υπήρχε ένας. - Το
CLONE(value)κάνει βαθύ αντίγραφο (οι ημερομηνίες μένουν ημερομηνίες), τοCOPY(from, to)αντιγράφει σε βάθος τις ιδιότητες ενός αντικειμένου σε ένα άλλο και επιστρέφει τοto. ΤοNOOPείναι μια συνάρτηση που δεν κάνει τίποτα και τοWARN(...)γράφει στοconsole.warn.
<!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>
<script>
window.sample = { watched: 0 };
</script>
</body>
</html> Δοκιμάστε το στον browser σας
Επεξεργαστείτε το παράδειγμα και εκτελέστε το. Εκτελείται σε απομονωμένο πλαίσιο στον browser σας· τίποτα δεν στέλνεται στον διακομιστή μας.
Προεπισκόπηση