Khi nรณi ฤแบฟn nghแป thuแบญt mแบทc quแบงn รกo cho trแบป em, cรณ vรด sแป phong cรกch vร xu hฦฐแปng cแบงn xem xรฉt, khiแบฟn viแปc nร y trแป thร nh mแปt cรดng viแปc thรบ vแป vร ฤแบงy kรญch thรญch. Trong bร i viแบฟt nร y, chรบng ta sแบฝ khรกm phรก mแปt sแป phong cรกch phแป biแบฟn dร nh cho trแบป em, trรฌnh bร y chi tiแบฟt vแป lแปch sแปญ vร di sแบฃn ฤแบฑng sau nhแปฏng phong cรกch nร y, ฤแปng thแปi cung cแบฅp mแปt sแป mแบนo hแปฏu รญch vแป cรกch kแบฟt hแปฃp tแปt nhแบฅt cรกc loแบกi quแบงn รกo khรกc nhau ฤแป cรณ vแบป ngoร i bรณng bแบฉy.
TypeScript
ฤรฃ giแบฃi quyแบฟt: sแบฏp xแบฟp mแบฃng ฤแปi tฦฐแปฃng
Trong thแบฟ giแปi lแบญp trรฌnh, mแปt tรฌnh huแปng thฦฐแปng gแบทp lร cแบงn sแบฏp xแบฟp mแปt mแบฃng ฤแปi tฦฐแปฃng. ฤiแปu nร y ban ฤแบงu cรณ vแบป khรณ khฤn, ฤแบทc biแปt lร trong ngรดn ngแปฏ ฤฦฐแปฃc gรต tฤฉnh nhฦฐ Bแบฃn ฤรกnh mรกy. Tuy nhiรชn, vแปi cรกch tiแบฟp cแบญn phรน hแปฃp, cรดng viแปc vแบทt nร y cรณ thแป trแป thร nh mแปt nhiแปm vแปฅ khรก dแป thแปฑc hiแปn. ฤiแปu nร y vฦฐแปฃt xa viแปc chแป sแบฏp xแบฟp theo thแปฉ tแปฑ chแปฏ cรกi hoแบทc sแป; chรบng tรดi nghiรชn cแปฉu sรขu hฦกn vแป viแปc sแบฏp xแบฟp theo thuแปc tรญnh cแปฅ thแป hoแบทc nhiแปu thuแปc tรญnh cแปงa mแบฃng ฤแปi tฦฐแปฃng.
Giแบฃi phรกp cho vแบฅn ฤแป nร y thฦฐแปng liรชn quan ฤแบฟn viแปc sแปญ dแปฅng phฦฐฦกng thแปฉc Sort() cแปงa mแบฃng kแบฟt hแปฃp vแปi hแป thแปng kiแปu cแปงa TypeScript. Dฦฐแปi ฤรขy lร แบฃnh chแปฅp nhanh vแป cรกch bแบกn cรณ thแป sแบฏp xแบฟp mแปt mแบฃng ฤแปi tฦฐแปฃng theo thuแปc tรญnh 'tรชn'.
let arr = [{name: 'Joe'}, {name: 'Bob'}, {name: 'Alice'}]; arr.sort((a, b) => a.name.localeCompare(b.name));
Trong vรญ dแปฅ trรชn, chรบng tรดi sแปญ dแปฅng phฦฐฦกng thแปฉc Array.prototype.sort dแปฑng sแบตn cแปงa JavaScript kแบฟt hแปฃp vแปi hร m so sรกnh dแปฑa trรชn ngรดn ngแปฏ.
ฤรฃ giแบฃi quyแบฟt: cรกch kiแปm tra xem tแบญp tin cรณ tแปn tแบกi lua khรดng
Chแบฏc chแบฏn ฤรขy lร bแบฃn nhรกp cho bร i viแบฟt cแปงa bแบกn:
Hiแปu ฤฦฐแปฃc sแปฉc mแบกnh vร tรญnh linh hoแบกt cแปงa lแบญp trรฌnh Lua mang lแบกi giรก trแป ฤรกng kแป trong viแปc quแบฃn lรฝ tแปp mแปt cรกch hiแปu quแบฃ. Mแปt khรญa cแบกnh quan trแปng ฤรกng chรบ รฝ lร khแบฃ nฤng kiแปm tra xem tแปp cรณ tแปn tแบกi hay khรดng. Chแปฉc nฤng nร y ฤรณng vai trรฒ then chแปt trong viแปc trรกnh cรกc lแปi hoแบทc kแบฟt quแบฃ ngoร i รฝ muแปn trong quรก trรฌnh thao tรกc vแปi tแปp. Hรดm nay, chรบng tรดi mong muแปn mแป xแบป quรก trรฌnh xรกc minh sแปฑ tแปn tแบกi cแปงa tแปp bแบฑng Lua.
ฤรฃ giแบฃi quyแบฟt: userref phแบฃn แปฉng
ฤรขy lร cรกch bแบกn cรณ thแป cแบฅu trรบc bร i viแบฟt ฤฦฐแปฃc yรชu cแบงu cแปงa mรฌnh vแป phแบฃn แปฉng โuserefโ:
React lร mแปt thฦฐ viแปn ฤฦฐแปฃc cรดng nhแบญn rแปng rรฃi ฤแป tแบกo giao diแปn ngฦฐแปi dรนng, ฤแบทc biแปt lร cรกc แปฉng dแปฅng mแปt trang. ฤรขy lร mแปt thฦฐ viแปn nhแบน vร linh hoแบกt ฤฦฐแปฃc thiแบฟt kแบฟ ฤแป nรขng cao trแบฃi nghiแปm ngฦฐแปi dรนng. Phรกt triแปn web ฤรฃ ฤแบกt ฤแบฟn nhแปฏng chรขn trแปi mแปi vแปi cรกc tรญnh nฤng nhฦฐ Hook do React mang lแบกi. Mแปt tรญnh nฤng thiแบฟt yแบฟu nhฦฐ vแบญy, hoแบทc bแบกn cรณ thแป xem xรฉt nรณ, mแปt hook do React cung cแบฅp lร useRef. useRef thฦฐแปng ฤฦฐแปฃc sแปญ dแปฅng ฤแป truy cแบญp cรกc nรบt DOM hoแบทc cรกc phแบงn tแปญ React.
ฤรฃ giแบฃi quyแบฟt: phรดng chแปฏ gรณc cแบกnh tuyแปt vแปi
Chแบฏc chแบฏn rแปi, ฤรขy lร bร i viแบฟt dร i vแป Font Awesome Angular:
Font Awesome lร mแปt thฦฐ viแปn biแปu tฦฐแปฃng tuyแปt vแปi cรณ thแป ฤฦฐแปฃc sแปญ dแปฅng trong cรกc แปฉng dแปฅng Angular cแปงa chรบng tรดi. Viแปc kแบฟt hแปฃp Font Awesome cho phรฉp cรกc nhร phรกt triแปn truy cแบญp vร o hร ng trฤm biแปu tฦฐแปฃng vectฦก linh hoแบกt vร cรณ thแป mแป rแปng cรณ thแป ฤฦฐแปฃc cรก nhรขn hรณa bแบฑng CSS. ฤiแปu nร y ฤแบทc biแปt hแปฏu รญch vรฌ nรณ cho phรฉp chรบng ta sแปญ dแปฅng cรกc biแปu tฦฐแปฃng ฤแบนp mร khรดng cแบงn phแปฅ thuแปc nhiแปu vร o cรกc tแปp ฤแป hแปa hoแบทc hรฌnh แบฃnh. ฤiแปu nร y thแปฑc sแปฑ cรณ thแป ฤฦกn giแบฃn hรณa viแปc bแบฃo trรฌ vร tแป chแปฉc cรกc dแปฑ รกn Angular cแปงa bแบกn. Trong hฦฐแปng dแบซn nร y, chรบng ta sแบฝ tรฌm hiแปu cรกch kแบฟt hแปฃp Font Awesome vร o แปฉng dแปฅng Angular cแปงa bแบกn theo tแปซng bฦฐแปc.
ฤรฃ giแบฃi quyแบฟt: thay ฤแปi kรญch thฦฐแปc cแปญa sแป
Thay ฤแปi kรญch thฦฐแปc cแปญa sแป cรณ vแบป nhฦฐ lร mแปt nhiแปm vแปฅ khรดng ฤรกng kแป trong quรก trรฌnh phรกt triแปn web, nhฦฐng nรณ thแปฑc sแปฑ liรชn quan ฤแบฟn khรก nhiแปu khรกi niแปm tแปซ JavaScript vร Typescript, ฤแปng thแปi ฤรณng mแปt vai trรฒ quan trแปng trong viแปc ฤแบฃm bแบฃo thiแบฟt kแบฟ ฤรกp แปฉng vร thรขn thiแปn vแปi ngฦฐแปi dรนng. Trong bแปi cแบฃnh UI/UX ฤแปng, chแปฉc nฤng 'thay ฤแปi kรญch thฦฐแปc cแปญa sแป' lร tแปi quan trแปng. Cรกc vรญ dแปฅ hร ng ngร y cรณ thแป bao gแปm mแปt thanh bรชn co lแบกi khi thay ฤแปi kรญch thฦฐแปc cแปญa sแป ฤแป mang lแบกi khรดng gian ฤแปc liแปn mแบกch hoแบทc hรฌnh แบฃnh thฦฐ viแปn tแปฑ ฤiแปu chแปnh ฤแป trรกnh biแบฟn dแบกng. Viแปc sแปญa ฤแปi ฤฦฐแปฃc thแปฑc hiแปn mแปt cรกch phแบฃn แปฉng bแบฑng cรกch lแบฏng nghe sแปฑ kiแปn thay ฤแปi kรญch thฦฐแปc cแปญa sแป.
ฤรฃ giแบฃi quyแบฟt: bแป qua node_modules
Lร mแปt nhร phรกt triแปn, chแบฏc hแบณn bแบกn ฤรฃ tแปซng sแปญ dแปฅng thฦฐ mแปฅc `node_modules` trong cรกc dแปฑ รกn cแปงa mรฌnh. ฤรขy lร mแปt phแบงn quan trแปng trong thแบฟ giแปi JavaScript vร TypeScript, ฤแบทc biแปt lร trong cรกc dแปฑ รกn sแปญ dแปฅng Node.js. Nhแปฏng `node_modules` nร y giแปng nhฦฐ DNA cho dแปฑ รกn cแปงa bแบกn, bao gแปm tแบฅt cแบฃ cรกc thฦฐ viแปn hoแบทc phแบงn phแปฅ thuแปc mร mรฃ cแปงa bแบกn cแบงn ฤแป thแปฑc thi chรญnh xรกc. Vแบฅn ฤแป lร thฦฐ mแปฅc nร y cรณ thแป tฤng kรญch thฦฐแปc nhanh chรณng, khiแบฟn dแปฑ รกn cแปงa bแบกn trแป nรชn nแบทng nแป, ฤแบทc biแปt lร vแป hแป thแปng kiแปm soรกt phiรชn bแบฃn. Ngoร i ra, cรณ thแป cรณ vรด sแป xung ฤแปt vแป phiรชn bแบฃn nแบฟu khรดng ฤฦฐแปฃc xแปญ lรฝ ฤรบng cรกch.
ฤรฃ giแบฃi quyแบฟt: ts queryselectorall dฦฐแปi dแบกng htmlelement
Trong xรฃ hแปi ngร y nay, tรฌnh trแบกng quรก tแบฃi thรดng tin lร ฤiแปu phแป biแบฟn, viแปc xแปญ lรฝ cรกc tร i liแปu HTML cลฉng khรดng phแบฃi lร ngoแบกi lแป. Mแปi trang web trรชn thแบฟ giแปi internet ฤแปu ฤฦฐแปฃc xรขy dแปฑng trรชn HTML, tแบกo ra mแปt mแบกng lฦฐแปi mรช cung cรกc phแบงn tแปญ vร thแบป. Chรฌa khรณa ฤแป ฤiแปu hฦฐแปng qua mแบกng lฦฐแปi nร y mแปt cรกch cรณ cแบฅu trรบc vร cรณ hแป thแปng lร thรดng qua viแปc sแปญ dแปฅng truy vแบฅnSelectorAll phฦฐฦกng thแปฉc trong JavaScript hoแบทc, trong trฦฐแปng hแปฃp cแปงa chรบng tรดi แป ฤรขy, TypeScript. Hรดm nay, chรบng ta sแบฝ ฤi sรขu vร o viแปc tแบญn dแปฅng cรกc khแบฃ nฤng cแปงa querySelectorAll dฦฐแปi dแบกng HTMLElement trong TypeScript.
ฤรฃ giแบฃi quyแบฟt: mแบฃng ฤแบฃo ngฦฐแปฃc ts
ฤแบฃo ngฦฐแปฃc mแปt mแบฃng trong Typescript vแป cฦก bแบฃn liรชn quan ฤแบฟn viแปc thay ฤแปi thแปฉ tแปฑ cแปงa cรกc phแบงn tแปญ bรชn trong mแปt mแบฃng tแปซ chuแปi cรฒn lแบกi sang chuแปi ngฦฐแปฃc lแบกi. Quรก trรฌnh nร y lร mแปt khรญa cแบกnh quan trแปng trong viแปc thao tรกc vแปi mแบฃng vร do ฤรณ, cรณ thแป cแปฑc kแปณ hแปฏu รญch trong viแปc giแบฃi quyแบฟt nhiแปu vแบฅn ฤแป phแปฉc tแบกp.
Sแบฃn phแบฉm Bแบฃn ฤรกnh mรกy ngรดn ngแปฏ bao gแปm mแปt phฦฐฦกng thแปฉc tรญch hแปฃp ฤแป ฤแบฃo ngฦฐแปฃc mแบฃng, ฤฦฐแปฃc gแปi lร hร m array.reverse(). Thแบญt vแบญy, bแบฑng cรกch sแปญ dแปฅng hร m nร y, chรบng ta cรณ thแป dแป dร ng ฤแบฃo ngฦฐแปฃc bแบฅt kแปณ mแบฃng nร o trong Typescript.
ฤแป minh hแปa cรกch sแปญ dแปฅng cแปงa nรณ, hรฃy xem xรฉt mแบฃng mแบซu sau:
let array = [1, 2, 3, 4, 5];
Sau ฤรณ chรบng ta cรณ thแป ฤแบฃo ngฦฐแปฃc mแบฃng nร y bแบฑng cรกch sแปญ dแปฅng hร m array.reverse() nhฦฐ sau:
array = array.reverse();
Thao tรกc nร y sแบฝ ฤแบฃo ngฦฐแปฃc thแปฉ tแปฑ cแปงa cรกc phแบงn tแปญ trong mแบฃng ban ฤแบงu sao cho trรฌnh tแปฑ cแปงa nรณ trแป nรชn ngฦฐแปฃc lแบกi vแปi trฦฐแปc khi รกp dแปฅng hร m.