Knockout (web framework)
નોકઆઉટ એ નમૂનાઓ સાથે મોડેલ-વ્યૂ-વ્યૂમોડેલ પેટર્નનું એકલ જાવાસ્ક્રિપ્ટ અમલીકરણ છે. તેથી અંતર્ગત સિદ્ધાંતો છેઃ દૃશ્ય ઘટકો વચ્ચેના સંબંધોનું સંચાલન કરવા માટે વિશિષ્ટ કોડના સ્પષ્ટ રીતે વ્યાખ્યાયિત સ્તરની હાજરી પ્રદર્શિત કરવા માટે ડોમેન ડેટા, દૃશ્ય ઘટકો અને ડેટા વચ્ચે સ્પષ્ટ વિભાજન. આ સુવિધાઓ દૃશ્ય ઘટકો વચ્ચેના જટિલ સંબંધોના સ્પષ્ટીકરણને સુવ્યવસ્થિત અને સરળ બનાવે છે, જે બદલામાં પ્રદર્શનને વધુ પ્રતિભાવશીલ બનાવે છે અને વપરાશકર્તા અનુભવને વધુ સમૃદ્ધ બનાવે છે. નોકઆઉટ વિકસાવવામાં આવ્યું હતું અને તેની જાળવણી સ્ટીવ સેન્ડરસન દ્વારા ઓપન સોર્સ પ્રોજેક્ટ તરીકે કરવામાં આવી છે. લાક્ષણિકતાઓ નોકઆઉટમાં નીચેની વિશેષતાઓનો સમાવેશ થાય છેઃ ઘોષણાત્મક બંધન સ્વચાલિત UI રીફ્રેશ (જ્યારે ડેટા મોડેલની સ્થિતિ બદલાય છે, ત્યારે UI આપમેળે અપડેટ થાય છે) ડિપેન્ડન્સી ટ્રેકિંગ ટેમ્પ્લેટિંગ (સમર્પિત ટેમ્પલેટ એન્જિન ધરાવે છે, પરંતુ અન્ય ટેમ્પ્લેટિંગ એન્જિનનો ઉપયોગ કરી શકાય છે) ઉદાહરણ આ ઉદાહરણમાં, બે ટેક્સ્ટ બોક્સ ડેટા મોડેલ પર અવલોકનક્ષમ ચલો સાથે બંધાયેલા છે. "સંપૂર્ણ નામ" ડિસ્પ્લે આશ્રિત અવલોકનક્ષમ સાથે બંધાયેલ છે, જેનું મૂલ્ય અવલોકનક્ષમની દ્રષ્ટિએ ગણવામાં આવે છે. જ્યારે કોઈપણ ટેક્સ્ટ બોક્સ સંપાદિત કરવામાં આવે છે, ત્યારે "સંપૂર્ણ નામ" ડિસ્પ્લે આપમેળે અપડેટ થાય છે, જેમાં કોઈ સ્પષ્ટ ઇવેન્ટ હેન્ડલિંગ નથી. જુઓ મોડેલ (જાવાસ્ક્રિપ્ટ) કાર્ય વ્યૂમોડેલ () {this.firstName = ko.observable (""); this.lastName = ko.observable (""); this.fullName = ko.computed (કાર્ય () {વળતર this.firstName + "+ this.lastName ();}, આ);} ko.applyBindings (નવું વ્યૂમોડેલ (); સંદર્ભો સમૃદ્ધ વેબ એપ્લિકેશન માળખાઓ એજેક્સ (પ્રોગ્રામિંગ) જાવાસ્ક્રિપ્ટ લાઈબ્રેરીઓને બાહ્ય લિંક્સ સાથે જોડે છે