Knockout: рдЕрд╡рд▓реЛрдХрдиреАрдп рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЕрдЧре░ 2012  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: knockout/knockout

рдирдорд╕реНрддреЗ,

рдореБрдЭреЗ рдЗрд╕ рд╕рдордп рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЕрджреНрдпрддрди рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЖрдЧ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдирдпрд╛ рдорд╛рди _latestValue рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдзреНрдп рддрддреНрд╡ рдкрд░ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдШрдЯрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореЗрд░реЗ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдХреЛ рдХреЙрд▓рдмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рд╕реНрд╡рдд: рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд╣реИ)ред

рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рджреЗрдЦрдиреЗ рдпреЛрдЧреНрдп рдкрд░ "рдмрд▓" рдзреНрд╡рдЬ рд╣реЛрдЧрд╛:

myObservable ("рдирдпрд╛ рдорд╛рди", /* рдмрд▓ = */ рд╕рддреНрдп)

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдФрд░ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ?

рдЪреАрдпрд░реНрд╕, рдПрдВрдбреНрд░рдпреВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓реНрд╕ рдореЗрдВ рдПрдХ valueHasMutated рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ:

myObservable.valueHasMutated()

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓реНрд╕ рдореЗрдВ рдПрдХ valueHasMutated рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ:

myObservable.valueHasMutated()

рдЕрджреНрдпрддрди рд╣реЛрдиреЗ рдкрд░ рдЖрдк рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдХреЛ рд╣рдореЗрд╢рд╛ рд╕реВрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

myObservable = ko.observable().extend({notify: 'always'});
myObservable("new value");  // will notify even if the value is already "new value"

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЗрди рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╣реЛрдирд╛ рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

valueHasMutated рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ :-)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

craxal picture craxal  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mcarpenterjr picture mcarpenterjr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

priyank-eschool picture priyank-eschool  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fastfasterfastest picture fastfasterfastest  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

San4es picture San4es  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ