Компонентын нэр

Компонентыг бүртгүүлэх хичээлд компонентийн нэрийг 'my-counter' гэж мөр төрлөөр бичин өгсөн. Энэ нь зарим тохиолдолд асуудал үүсгэдэг. Жишээ нь та төсlлийн кодыг бичиж буй засварлагчид кодыг цэвэр байлгах ямар нэгэн хэрэгсэл /linter/ ашиглаж байвал нэрэнд хашилтыг хэрэглэвэл төслийн хэвээс хасагддаг тул үүнийг ашиглахгүй байх нь дээр. Иймээс VueJs -д компонентийн нэрийг үүсгэх өөр аргачлал байдаг. Компонентийн нэрийг өгөхдөө

            new Vue({
                el: '#app',
                components: {
                    'my-counter': component
                }
            });

хашилтанд my-counter гэж html кодод ашиглах тегийн нэрийг өгсөн байгаа.

VueJshtml кодод ашиглах тегийн нэрийг арай өөрөөр үүсгэх арга байдгийг Компонентыг бүртгүүлэх хичээлийн жишээний div id="app1" элементэд Vue програмын инициализац хийхдээ my-counter компонентийг

    <body>
        <div id="app">
            <my-counter v-for="c in 2"></my-counter>
        </div>
        <hr>
        <div id="app1">
            <my-counter></my-counter>
        </div>        
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            var component = {
                template: `
                    <div style="border: 1px solid green; padding: 10px">
                        <h2>Тоолуур: {{ counter }}</h2>
                        <button @click="add">Тоолуурыг нэмэх</button>
                    </div>                
                `,
                data: function() {
                    return {
                        counter: 0
                    }
                },
                methods: {
                    add: function() {
                        this.counter++
                    }
                }
            }
            
            new Vue({
                el: '#app',
                components: {
                    'my-counter': component
                }
            });

            new Vue({
                el: '#app1',
                components: {
                    myCounter: component
                }
            })            
        </script>        
    </body>

бүртгүүлсэн жишээнээс харцгаая. app1 айдитай divVue -гийн хувийн инициализац хийхдээ түүний тохиргооны обьектын components талбарт компонентийг бүртгүүлсэн. Гэхдээ энд компонентийн нэрийг хашилтанд мөр хэлбэрээр биш myCounter гэж тэмээ /camelCase/ хэвийг ашиглан бичсэн. Үүнийг Vue фреймворк my-counter тегийн нэртэй ижилхэн болгон хөрвүүлнэ. Иймээс html кодод тегийг <my-counter></my-counter> гэж бичсэнг өөрчлөхгүйгээр ашиглана. Хуудсыг хөтөч дээр нээвэл

консолд алдаа заахгүйгээр гурван тоолуурыг үзүүлэн бүгд хэвийн ажиллана. Иймээс цаашид тегийн нэрийг кодод мөр хэлбэрээр биш camelCase хэвийг ашиглан бичиж сурахыг зөвлөе.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 2413 Төлбөртэй

Үйл явдлыг боловсруулах бол Javascript программын үндсэн үүрэг гэж үзэхэд бараг болно. Иймд хичээлийг сайн үзээд ойлгон авах хэрэгтэй. Нэг үйл явдал тухайн үйл явц болсон элементэд нөлөө үзүүлэхээс гадна түүний дээрх элементүүдэд бас үйлчилдэг. Энэ нь элементэд олон дараалсан HTML тег агуулагдаж байх тохиолдолд тег бүрд боловсруулагч тавихгүйгээр дээд түвшин буюу эцэг элементэд ганц боловсруулагч заагаад бүх үйл явцыг барихад их эвтэйхэн байдаг. Гурван элемент нэг нэгдээ орон байрласан тохиолдлыг авч үзье.

  Нээгдсэн тоо: 829 Төлбөртэй

Javascript дээр бичигдсэн RxJs сан нь програмчлалыг рейктив /reactive/ аргачлалаар боловсруулахад зориулагдсан. RxJs санг ашиглан массив, мөрүүд, тоонууд, промис /promise/, үйл явцууд /event/ гэх мэтийн өгөгдлийн төрлүүдээс гадна дурын синхрон зүйлүүдтэй амархан харьцан ажиллах боломжтой. Стримүүдийг нэгтгэх I хичээлд RxJs санг ашиглан өөр стримүүдийг нэг стримд нэгтгэх аргуудтай танилцаж ба энэ хичээлээр аргуудыг үргэлжлүүлэн авч үзнэ.

concatMap арга

Арга mergeMap аргатай тун адилхан. Аргыг ажиллагааг

Rx.Observable.range(1, 5)
    .concatMap((x, i) => {
        return Rx.Observable.interval(100)
            .take(x)
            .map(c => i)
    })
    .subscribe(createSubscribe('concatMap'));

кодоос харцгаая.

  Нээгдсэн тоо: 897 Төлбөртэй

ES6 -д бий болсон модулийн системийн дүрмийн талаар үзэхийн өмнө зарим бэлтгэл ажлыг хийх хэрэгтэй. Төслийн үндсэн хавтаст extra.js файлыг үүсгээд дараах кодыг

let name = 'e-surgalt.com';
let age = 6;

оруулан өгье. extra.js файлд зарлагдсан хоёр хувьсагчийг index.js файлд оруулан ирэх хэрэг гарлаа гэе. Энд хоёр нөхцлийг хангана. Нэгд бусад модулууд extra.js файлд зарлагдсан хувьсагчдыг өөртөө ашиглах боломжийг нээх зорилгоор түүнийг гадагш экспортлох ёстой. Хоёрт бусад модулаас эскпорт хийгдсэн зүйлийг ашиглах модул нь импортлох хэрэгтэй.

  Нээгдсэн тоо: 544 Төлбөртэй

Javascript хэл сайтын хэрэглэгч талын буюу frontend хэсгийн програмчлалд хүчтэй түрэн орж ирлээ. Орчин үед хэрэглэгч талын хуудасыг SPA буюу нэг хуудаст аппликашн байдлаар хэрэгжүүлэх хандлага түлхүү зонхилох болсноор frontend кодлогчийн өндөр түвшинд эзэмшсэн байх зүйл бол Javascript болон түүнд дээр зохиогдсон фреймворкууд яалтгүй болоод байгаа. Ямар нэгэн зүйлийг өнгөцхөн судлаад өнгөрөх нэг хэрэг. Харин тухайн зүйлээ сайн эзэмших тийм ч амаргүй. Байнга суралцан судлах хэрэгтэй. Та frontend кодлогч болохоор шийдсэн бол сайтад нийтлэгдсэн хичээлүүдийг үзэхийг хичээнгүйлэн зөвлөе.     

useContext хукийн ажиллагааг судлахын тулд жижиг хэмжээний програмийг зохиоцгооё. Програмийн суурь бүтцийг App компонентод

import React from 'react'
import Alert from './Alert';
import Main from './Main';

function App() {
  return (
      <div className="container pt-3">
        <Alert />
        <Main />
      </div>
  );
}

export default App;

байдлаар зохион байгуулъя.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 328

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 425

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 382

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 469

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 544

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 534

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 652

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 764

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 786

 
Энэ долоо хоногт

интеграл бод

Нээгдсэн тоо : 1241

 

хязгаарыг бод.

Нээгдсэн тоо : 1173

 

утгыг ол.

Нээгдсэн тоо : 826