рдПрдиреНрдпреЛ 2. рдУрдУрдкреА

рдЫрд╡рд┐

рдкрд╣рд▓реЗ рд╡рд┐рд╖рдп рдХреЛ рдХрдИ рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреЗ рдкрджреЛрдВ рдХреЗ рднрд╛рдЧреНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛!
рдореИрдВ рд╣рд╛рд░ рдирд╣реАрдВ рдорд╛рдирддрд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд░рд╣реЗрдВ ...

рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВрдЧреЗ:


рддреНрдпрд╛рдЧ


рд╣рдмреНрд░рдЬрд╝рд┐рддрд▓реА, рдореИрдВ рдкрд░рдо рд╕рддреНрдп рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ JS рдФрд░ Enyo рдХрд╛ рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЕрдзреВрд░рд╛ рд╣реИред
рдореИрдВ рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдкреА рд╕реЗ рд╕рднреА рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдкреНрд░рд▓реЗрдЦрдиред
рд▓рд┐рдВрдХ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╖рдп рдкрд░ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ enyojs.com рдкрд░ред

рд╕реНрд░реЛрдд рдбреЗрдЯрд╛


рд╣рдо рдЙрд╕реА "index.html" рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
<!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>Title</title> <link rel="stylesheet" href="http://enyojs.com/enyo-2.2.0/enyo.css"><!-- Enyo 2.2.0--> <script type="text/javascript" src="http://enyojs.com/enyo-2.2.0/enyo.js"></script><!-- Enyo 2.2.0--> </head> <body> <script type="text/javascript"> </script> </body> </html> 

рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗред

рдХреНрд▓рд╛рд╕реЗрд╕ред рдкрд░рд┐рднрд╛рд╖рд╛, рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛, рд╡рд┐рд░рд╛рд╕рддред


рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛:
 class ClassName {} 

Enyo рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛
 enyo.kind({name: 'ClassName'}) 


рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдореВрд▓ рдирд╣реАрдВ рд╣реИ:
 var class_name = new ClassName() 


рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ:
 class ClassNameA {} class ClassNameB extends ClassNameA {} 

Enyo рдореЗрдВ рдирд┐рдореНрди рд░реВрдк рд▓реЗ рдЬрд╛рдПрдЧрд╛:
 enyo.kind({name: 'ClassNameA'}) enyo.kind({kind: 'ClassNameA', name: 'ClassNameB'}) 

рдпрд╣рд╛рдБ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдпрджрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп OOP рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ "ClassName" рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╕реНрдореГрддрд┐ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ), рддреЛ Enyo рдореЗрдВ, рдЖрдзрд╛рд░ рд╡рд░реНрдЧ "enyo.Control" рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдЧрд╛ - DOM рддрддреНрд╡ рдХреЛ div рдЯреИрдЧ (рдХрдареЛрд░ WEB рд╡рд┐рд░рд╛рд╕рдд) рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рдд "ClassNameA" рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдмреЗрд╕ рдХреНрд▓рд╛рд╕ "enyo.Control" рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдпрджрд┐ рдорд╛рдорд▓реЛрдВ рдХреА рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ - "enyo.Component" рд╡рд╛рд░рд┐рд╕ред
C ++ / Java / etc рд╢реИрд▓реА рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ред рдЬрд╣рд╛рдВ рднреА рд╕рдВрднрд╡ рд╣реЛ рдкрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдВрдЧ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рдо


рд╣рдорд╛рд░рд╛ "index.html" рд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдбрд╛рд▓реЗрдВ:
 //   enyo.kind({name: 'ClassNameA'}) enyo.kind({kind: 'ClassNameA', name: 'ClassNameB'}) //   var cls_a = new ClassNameA() var cls_b = new ClassNameB() //    console.dir(cls_a) console.dir(cls_b) 

рдЕрдЧрд░ рд╣рдо DOM рдХреЛ рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ div рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреЗред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ "рд░реЗрдВрдбрд░рдЗрдВрдЯреЛ ()" рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдирд╣реАрдВ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рдП рдЧрдП рдереЗ рдФрд░ рдЖрд░рдВрдн рдХрд┐рдП рдЧрдП рдереЗред

рдХреНрд▓рд╛рд╕ рддрд░реАрдХреЗ рдФрд░ рдлрд╝реАрд▓реНрдб, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЗ


рдХрдХреНрд╖рд╛рдПрдВ рдЕрдЪреНрдЫреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рдирд╣реАрдВ рднрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рд╡рд░реНрдЧ рдХреНрдпреЛрдВ? - рдЕрдм рдЪрд▓реЛ!
рдЫрджреНрдо рдХреЛрдб рд╣реЛрдиреЗ:
 class ClassNameA { object fieldName = "value" } 

рдЖрдЗрдП рдХреЛрдб рдХреЛ Enyo рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ:
 enyo.kind({name: 'ClassNameA', fieldName: 'value'}) 

рдЕрдм рд╣рдо рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрдЧ рдлрд╝реАрд▓реНрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
 var cls_a = new ClassNameA() console.log(cls_a.fieldName) 


рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЦреЗрддреЛрдВ рдХрд╛ рдорддрд▓рдм рдереЛрдбрд╝рд╛ рдХрдо рд╣реИ, рддрд░реАрдХреЗ рдХрд╣рд╛рдВ рд╣реИрдВ? - рд╣рд╛рдБ, рд╡рд╣реАрдВ!
рдЫрджреНрдо рдХреЛрдб рд╣реЛрдиреЗ:
 class ClassNameA { object method () { return "value" } } 

рдЖрдЗрдП рдХреЛрдб рдХреЛ Enyo рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ:
 enyo.kind({ name: 'ClassNameA', method: function(){ return 'value' } }) 

рдЕрдм рд╣рдо рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдХреНрд╖рд╛ рд╡рд┐рдзрд┐ рдЙрдкрд▓рдмреНрдз рд╣реИ:
 var cls_a = new ClassNameA() console.log(cls_a.method()) 


рдареАрдХ рд╣реИ, рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ, рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ ... рд╢рд╛рдпрдж рдПрдХ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ / рд╡рд┐рдзреНрд╡рдВрд╕рдХ рднреА рд╣реИ? - рдмрд┐рд▓реНрдХреБрд▓! рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ 2 рдЯреБрдХрдбрд╝реЗ !!! рд▓реЗрдХрд┐рди, рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред
рдХрд┐рд╕реА рднреА Enyo рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп, рдЗрд╕рдХреА constructor рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдпрджрд┐ рдЖрд░рдВрднреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдпрд╣ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 enyo.kind({ name: 'ClassNameC', constructor: function() { //   console.log('constructor') } }) 

рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреА рд╡рд┐рдзрд┐ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░) рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, Enyo рдЗрд╕. this.inherited(arguments) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣. this.inherited(arguments) рдЙрди рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
 enyo.kind({ name: 'ClassNameC', constructor: function() { console.log('my init befor constructor') this.inherited(arguments) console.log('my init after constructor') } }) 


рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕рднреА Enyo рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИ ...
"Enyo.Component" рдЯрд╛рдЗрдк рдХрд░реЗрдВ - рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдЬрд╛рдирд╡рд░ "enyo.Control" (рдбрд┐рдлрд╝реЙрд▓реНрдЯ div рдХрд╛ рдПрдХ рд╣реИ) рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдЗрд╕рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╣реИрдВ:

рдпрд╣ рдкрд╕рдВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХрд╛рд░реНрдп рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рддреЛ рдпрд╣ рдмрд╣реБрдд рд╣реА "enyo.Component" рдЕрдкрдиреЗ "рдмрдЪреНрдЪреЛрдВ" рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ 2 рдФрд░ рддрд░реАрдХреЗ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ:
 enyo.kind({ name: 'ClassNameD', //      constructor: function() { this.inherited(arguments); }, //     createComponent / createComponents create: function() { this.inherited(arguments); }, //     destroyComponents destroy: function() { this.inherited(arguments); } }); 


рдирдордХ рдХреНрдпрд╛ рд╣реИ? рд╣рд╛рдБ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ!
"Enyo.Component" рдХреЗ рдЕрдВрджрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "enyo.Control" рдореЗрдВ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдЕрдВрджрд░, рдЖрджрд┐ред
рдЗрд╕ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ? рдЗрд╕ рдкреЗрдбрд╝ рдХреЛ рдбреЛрдо рд╕реЗ рдХреИрд╕реЗ рдмрд╛рдВрдзреЗрдВ? рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ / рд╣рдЯрд╛рддреЗ рд╕рдордп рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдмрд╛рдВрдзреЗрдВ / рд╣рдЯрд╛рдПрдВ? рдЗрд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░реЛ? рд╣рд╛рдБ, рдЪреЗрдХрд░реНрд╕ рдФрд░ рдХрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЖрдкрдХрд╛ рдереЛрдбрд╝рд╛ рдЧреНрд░рд╛рдл!
рдиреНрдпрд╛рдп рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ DOM рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг / рд╡рд┐рд▓реЛрдкрди рдФрд░ рдЙрдирдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╕рдордп рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ / рдмрдирд╛рдирд╛ / рдирд╖реНрдЯ рдХрд░рдирд╛ред рдорд╛рддрд╛-рдкрд┐рддрд╛ рдиреЛрдб рддрдХ рдкрд╣реБрдВрдЪ "рд╕реНрд╡рд╛рдореА" рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдФрд░ рдмрдЪреНрдЪреЗ рдиреЛрдбреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдпрд╣ $ред"
рдмрдВрджред рдкреНрд░рд▓реЗрдЦрди рдХрд╣рддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдкрдХреА рд╡рд╕реНрддреБ "enyo.Component" рдпрд╛ рдЗрд╕рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЗрд╕реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ - рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ред
рдкрд░рд┐рдгрд╛рдо:
 enyo.kind({ name: 'ClassNameD', create: function() { // this.$ -  this.inherited(arguments) // this.$ -   ,    create   }, destroy: function() { // this.$ -    this.inherited(arguments); // this.$ -  } }); 


рд╕рдВрджрд░реНрдн


Enyo рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдЧрд┐рддреБрдм рд╡рд┐рдХреА рдПрдиреНрдпреЛ
рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреАрд╡рдирдЪрдХреНрд░ Enyoред рдЧрд┐рддреБрдм рд╡рд┐рдХреА рдПрдиреНрдпреЛ
enyo.Componentред Enyo рдПрдкреАрдЖрдИ
enyo.Controlред Enyo рдПрдкреАрдЖрдИ

Source: https://habr.com/ru/post/In204598/


All Articles