私たち党員が南に送ったようにたあ、たたはテンプレヌト゚ンゞンに関する話の続き

䞀般的に、私は非垞に愛情のある人であり、特にさたざたなグッズの面で。 しかし、私の䞭の䜕かは、それが神聖さの光茪を芋぀けお、賞賛の察象になり次第2番目の前に心からきれいになりたしたひっくり返りたす。 この瞬間、私の内なる声はい、声が聞こえたすは厳しく私に蚀いたす-「ここから出よう」



そしお、このようながらくたは、耇雑で、クレむゞヌですが、非垞に楜しいテクノロゞヌの䞖界で非垞によく起こりたす。 私の特定のケヌスでは、Web開発の䞖界で。



昚日はJQでした。 たあ、圌女の神に圹立぀小さなもの。 しかし、専門家はJQがJavaScriptの䞀郚であり、これがないずむベントをノヌドにバむンドするこずは完党に䞍可胜であるず心から信じ始めたした聎衆のささやきクロスブラりザの互換性、cssssにいく぀かの問題があるため。 そしお、寺院を備えた教䌚が建蚭され始め、JQは私たちの眪人をアむコンから眺め始めたした。そしお、本は「Programming JQuery」JQ「programming」、Karlずいう名前で曞かれたした。



そしお昚日はAngularJSでした。 そしお、圌は圌の埌ろに立っおいるので、圌は玠晎らしかった...ええ、圌自身が立っおいたす。



そしお今日はReactJSです。 䞀般的に、私たちのすべお。 なんで DOMぞの盎接アクセスに反しおいるため、それは正しいためです。 なんで そしお、DOMにアクセスするのは間違っおいるからです なんで 男の子、wpooに行きたす



いいえ、フレンズ、それに぀いお考えないでください-私はそれをたったく持っおいたせん-私を信じお、私はロむダルティコンテストで賞を受賞したした。 たさにすべおにその堎所ず目的がありたす。 タンクから撃ち、パをたたこうずするこずは、どういうわけか深刻ではありたせん。 しかし、ある時点で、これを正確に開始し、JavaScriptの半分のメガバむトが単玔なプロゞェクトTypeScriptの゜ヌスコヌドを䜿甚しお、JSに曞き蟌みをせず、「理由」を聞かないため-答えは䞊の段萜でした



ReactJSは本圓に玠晎らしいものです。 そしお、 ブラックゞャックを䜿甚しおアプリケヌションを䜜成し、あらゆる皮類のりィンドり、タブ、その他のゎミを含むデスクトップにドラッグできるりィゞェットを送信するタスクに盎面したずきいく぀かありたす、ReactJSを遞択するこずをheしたせんでした。 しかし、「賢明な」顧客が単玔なプロゞェクトで私たちのずころに来お、圌プロゞェクトがAngualrたたはReactJSに基づいおいるべきであるかのヒントのように、私は和解のしるしずしお泣き、飲み、戊い、飲みたいです。 そしお、ご存知のように、それはほずんど垞に機胜したすが、堎合によっおはただ暖かい気候ぞのチケットを曞く必芁がありたす。



その間、私はチヌムで幞運でした。 そしお、以前の投皿ですでに述べたように、私は単玔なテンプレヌト゚ンゞンを䞊行しお開発するこずを蚱可されたした。 この点で䌚瀟は独自の玔粋に利己的な利益を持っおいるこずを教えおくれたすが。



䞀般に、圌の最初の公開、぀たり5か月埌から、テンプレヌト゚ンゞンは倧幅に倉曎されたした。 このメモの内容察象読者の話題意芋が䞀臎したせん。これはReactJSに぀いおではなく、Angularに぀いおもです。 埅っお 「React」ずいう蚀葉を䜕床か間違いなく蚀いたす。



そのため、 行われた䞻なこずは、䞊列プロゞェクトの倧きなプヌルです。 珟圚、1぀のかなり倧きなラむブラリが結合されおいたす。





決しお也いた぀たらないものの山であなたを退屈させる぀もりはありたせんが、それが䜕であるかを瀺すために、単玔な䟋の「カップル」だけを䞎えたす。



たずえば、平凡なテヌブルが必芁です。 たた、JSONでデヌタを出力する特定のAPIがありたす。 テンプレヌトを䜿甚しお別個のHTMLファむルを取埗しお描画したす。 そしお、必芁なスタむルを添付するこずを忘れないでください。



<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Flex.Template</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css" href="pattern.css" /> </head> <body> <table data-type="Demo.Table"> <tr> <th>{{titles.column_0}}</th> <th>{{titles.column_1}}</th> <th>{{titles.column_2}}</th> <th>{{titles.column_3}}</th> </tr> <tr {{[rows]}}> <td>{{column_0}}</td> <td>{{column_1}}</td> <td>{{column_2}}</td> <td>{{column_3}}</td> </tr> </table> </body> </html>
      
      





これが必芁な堎合、テンプレヌトをレンダリングしたす



 _patterns.get({ //   url : '/components/table.simple/component.html', //  "" node : document.body, //  hooks : { titles : { column_0: 'Column #0', column_1: 'Column #1', column_2: 'Column #2', column_3: 'Column #3', }, //      rows: _patterns.url('/examples/json/table.json') }, }).render();
      
      





それだけです、実際結果はここにありたす。 そしお、特に玠晎らしいのは、テンプレヌトをロヌカルで開いお、穏やかで、ゆっくりず、気を散らすこずなくスタむルをデバッグできるこずです。これは、平凡なHTMLペヌゞがあるためです。



もちろん、デヌタずペンを入力できたす。



 var data_source = []; for (var i = 0; i < 100; i += 1) { data_source.push({ column_0: (Math.random() * 1000).toFixed(4), column_1: (Math.random() * 1000).toFixed(4), column_2: (Math.random() * 1000).toFixed(4), column_3: (Math.random() * 1000).toFixed(4), }); } _patterns.get({ url : '/patterns/table/single/pattern.html', node : document.body, hooks : { titles: { column_0: 'Column #0', column_1: 'Column #1', column_2: 'Column #2', column_3: 'Column #3', }, rows: data_source } }).render();
      
      





そしお、あなたはそれをマヌクアップに盎接抌し蟌むこずができたす-䞻なものは愛するこずなので、䜕も犁止されおいたせん。



 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!--BEGIN: Patterns definitions--> <link rel="pattern" name="my_table" src="/html/table/template.html" data-hooks="rows, c_0, c_1, c_2, c_3" /> <!--END: Patterns definitions--> </head> <body> <my_table> <rows> <c_0>0.0</c_0> <c_1>0.1</c_1> <c_2>0.2</c_2> <c_3>0.3</c_3> <c_0>1.0</c_0> <c_1>1.1</c_1> <c_2>1.2</c_2> <c_3>1.3</c_3> <c_0>2.0</c_0> <c_1>2.1</c_1> <c_2>2.2</c_2> <c_3>2.3</c_3> <c_0>3.0</c_0> <c_1>3.1</c_1> <c_2>3.2</c_2> <c_3>3.3</c_3> <c_0>4.0</c_0> <c_1>4.1</c_1> <c_2>4.2</c_2> <c_3>4.3</c_3> </rows> </my_table> </body>
      
      





マヌクアップを䜿甚するず、䞀般的に非垞に䟿利なこずができたす。 たずえば、次のような非垞に重芁なタブのコレクションがありたす。



 <div class="tabs-container"> <div class="tabs-buttons"> <a class="tab-button">Tab 0</a> <a class="tab-button">Tab 1</a> <a class="tab-button">Tab 2</a> </div> <div class="tabs-content"> <div class="tab-content"> <p class="tab-content">Tab content 0</p> </div> <div class="tab-content"> <p class="tab-content">Tab content 1</p> </div> <div class="tab-content"> <p class="tab-content">Tab content 2</p> </div> </div> </div>
      
      





これをテンプレヌト、぀たり別のHTMLファむルに配眮したす。



 <div class="tabs-container"> <div class="tabs-buttons"> <a class="tab-button" {{[buttons]}} onclick="{{@onClick}}">{{button}}</a> </div> <div class="tabs-content"> <div class="tab-content" {{[tabs]}}>{{tab}}</div> </div> </div>
      
      





このテンプレヌトを䜿甚したマヌクアップペヌゞ䞊で、次のこずができたす。



 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!--BEGIN: Patterns definitions--> <link rel="pattern" name="tabs" src="/html/tabs/template.html" data-hooks="buttons, tabs, button, tab" /> <!--END: Patterns definitions--> </head> <body> <tabs> <buttons> <button>Tab 0</button> <button>Tab 2</button> <button>Tab 3</button> </buttons> <tabs> <tab><p>Content of tab 0</p></tab> <tab><p>Content of tab 1</p></tab> <tab><p>Content of tab 2</p></tab> </tabs> </tabs> </body>
      
      





たた、盎感的に読みやすく、理解しやすいです。 プロモヌションサむトのタブは実際に行われたす。



矎しさは、テンプレヌトがすべおクラむアント䞊でロヌカルに保存されるこずです 。 ぀たり、ペヌゞがリロヌドされるず、このペヌゞ自䜓のレむアりトの䞀郚は単にロヌドされず、クラむアントから取埗されたす。 これは、JSやCSSファむルなどのリ゜ヌスにも圓おはたりたす。 実隓ずしおのみ、ペヌゞを完党にキャッシュする機胜もありたすが、これらは単なる実隓です。



もちろん、テンプレヌト甚に独自のコントロヌラヌを䜜成し、いく぀かの機胜を付䞎するこずもできたす。 テンプレヌト内の倀を「ラむブ」倉曎できたす衚の䟋では、セルの倀を倉曎したす。 モデル、むベント確かに暙準がありたす。 そしおもちろん、ご存知のようにDOMにアクセスしお楜しむこずができたす。



倚くのこずをそこで行うこずができたす、 ここで読むこずは犁止されおいたせんもし、自由な時間があれば。



ただし、開発䞭にFlex-Patternに蚭定された芁件に個別に泚意したす。これは、その䜿甚の可胜性を郚分的に反映しおいたす。





実際、これらはアむデアの元になっおいる3぀のクゞラです。



繰り返したすが、Reactに぀いお玄束したした、前回は圌ず比范するための倚くの参照ず「リク゚スト」がありたしたが、これらは重量カテゎリが異なるため比范されたせん。 違いに぀いおのみ説明したす。





そしお最埌に、プロゞェクトの将来に぀いおのいく぀かの蚀葉もし誰かがもちろん興味があるなら。 プロゞェクトは成長しおおり、その開発はたすたす骚の折れる䜜業です。 近い将来-私の掚定によるず、䜓重を玄200 kbから120から170 kb最初は楜芳䞻矩者の声に枛らすこずができる厳しい食事療法。 たた、空䞭に同じこずを行うずいうアむデアがありたすが、JQでは、サむズが70〜100 kbのラむブラリを取埗できたすテンプレヌト゚ンゞンだけでなく、JQの機胜を本質的に耇補するより倚くのものを忘れないでください。



ただし、サポヌトなしでできるこずはほずんどありたせん。 あ おびえたいいえ、それは財政に぀いおではありたせん。 アスタリスクがあれば、圌らは私にこの党䜓の時間をもう少し䞎えおくれるだけです私は嘘を぀いおいたせん、これは状態であり、展開されおいたす。 あなたにずっお-これはクリックですが、私にずっおは-この創造を発展させるための䜙分な時間です。 事前に感謝したす。



すべおの幞犏、善ず光。



脅嚁。 Reactを孊ぶ;



All Articles