Өөрчлөлтийг watch -аар судлах

Хэрэглэгч талын хуудасны боловсруулалтад javascript дэвшилтэд буюу реактив фреймворкуудыг ашиглах нь улам өргөн болж байгаа тул ойрын жилүүдэд энэ чиглэлийн програм зохиогчдын эрэлт өндөр болох нь гарцаагүй. Иймээс програмчлалын мэрэгжлээр суралцаж байгаа болоод ажиллаж буй залуучууд Angular, React, Vue зэрэг фреймворкуудын ажиллагааг судлан суралцахыг зөвлөе. Фреймворкуудийн ажиллагаанууд өөр өөрийн онцлогтой хэдий ч ерөнхий зарчим бараг ижил тул аль нэгийг нь сурсан байхад бусдыг нь амархан сурна. VueJs -ийн бусдаасаа ялгарах онцлог гэвэл суурь пакет жижигхэн, суралцахад хөнгөнд оршино. Энэ нь фреймворкийн функционал муу гэсэн үг биш гэдгийг сануулъя.VueJs -ээр хамгийн өндөр шаардлага тавьдаг хэрэглэгчийн хэрэгцээг ч хангах програмыг төвөггүй боловсруулж чадна.

computed -аар програмд оптимизац хийх хичээлээс computed талбарт тодорхойлсон функцууд өөртөө хамааралтай талбаруудын өөрчлөлтийг ажиглан ажилладагийг мэдэн авсан. Үүний ижил хувилбар болох watch -аар тодорхой талбаруудын өөрчлөлтүүдийг ажиглах аргыг суръя. computed -аар програмд оптимизац хийх хичээлийнхтэй төстэй

    <body>
        <div id="app">
            <h2>Тоолуур {{ counter}}</h2>

            <button @click="add">Нэмэх</button>
            <button @click="sub">Хасах</button>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            new Vue({
                el: '#app',
                data: {
                    counter: 0
                },
                methods: {
                    add: function() {
                        this.counter ++
                    },
                    sub: function() {
                        this.counter --
                    }
                }
            })
        </script>        
    </body>

жишээг харъя. Нэмэх, хасах товчнууд тоолуурын утгыг ихсгэж багасна. VueJs -ийн тохиргооны обьектын data талбарт тодорхойлсон талбаруудын өөрчлөлтийг ажиглахын тулд тохиргооны обьектод watch талбарыг нэмээд түүнд ажигалах гэж буй талбарын нэртэй ижилхэн талбарт функц тодорхойлон

    <body>
        <div id="app">
            <h2>Тоолуур {{ counter}}</h2>

            <button @click="add">Нэмэх</button>
            <button @click="sub">Хасах</button>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            new Vue({
                el: '#app',
                data: {
                    counter: 0
                },
                methods: {
                    add: function() {
                        this.counter ++
                    },
                    sub: function() {
                        this.counter --
                    }
                },
                watch: {
                    counter: function() {
        console.log('watch -ийн counter',this.counter)
                    }
                }
            })
        </script>        
    </body>

өгнө. Жишээ нь дээрх кодод data талбарын counter хувьсагчийг watch талбарын counter функц ажиглана гэсэн үг. Хуудсаа нээгээд консолын цонхыг идэвхижүүлээд Нэмэх, хасах товчнуудаар тоолуурын утгыг өөрчилбөл

тоолуурын утганд өөрчлөлт орох бүрд counter функц ажиллан консолд хувьсагчийн утгыг үзүүлнэ. Үүнээс гадна watch -ийн counter талбарт тодорхойлогдсон функцэд ажиглаж буй талбарын утга параметрээр дамжин ирдэгийг

                watch: {
                    counter: function(counter_val) {
                        console.log('watch -ийн counter', counter_val)
                    }
                }

ашиглаж болно. Кодод this.counter гэж талбарт хандалгүй counter талбарт тодорхойлогдсон функцэд дамжин ирэх параметрийг ашиглахад кодын ажиллагаанд ямарч өөрчлөлт орохгүй хэвийн ажиллана. Үүнийг туршаад үзээрэй.

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

  Нээгдсэн тоо: 548 Бүртгүүлэх

Сангийн албан ёсны сайтын нүүр хуудас дахь Get Started товчоор шилжилт хийвэл React -ийн материалууд /Docs/ хэсэгт шилжинэ.

Getting Started хэсэгт React -ийг ажиллуулах аргуудын мэдээлэл бий. Жишээ нь CodePen, CodeSandbox гэх мэт онлайн сервисүүд дээр турших, веб сайтад санг нэмэх, React app үүсгэх гэх мэтээр.

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

Обьектыг үүсгэх

String обьект нь энгийн тэмдэгтийн төрөлд харгалзах хэлний дотоод обьект юм. Обьект мөрийг шалгах, хэсгийг таслан авах, том жижиг үсгэнд шилжүүлэх гээд олон тооны аргуудтай. Энэ хичээлээр бид String обьектын ихээр хэрэглэдэг аргуудын талаар авч үзэх болно. String() конструктур нь анхны утгыг заан өгөх заавал байх шаардлагагүй параметртэй. Обьектыг үүсгэх жишээнүүд

var s = new String();
var head1 = new String("JavaScript хичээлүүд");

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

Хичээлээр Promise ухагдхууны тухай жишээгээр авч үзье. Эхлээд Promise гэж юу болох юунд ашигладагийн тухайд гэвэл. ES6 - д Promise гэдэг нь синхрон буюу зэрэг биелэгдэх кодтой ажиллах механизм юм. Үүнийг ойлгохын тулд хүлээлт үүсгэх функцийг эхлээд ES5 - аар хэрэгжүүлсэн

function oldDelay(ms, func) {
    setTimeout(function () {
        func();
    }, ms);
}

oldDelay(3000, function () {
    console.log('Old delay passed!');
});

кодыг харцгаая. oldDelay функц эхний ms параметрээр хүлээлт үүсгэх хугацааг харин хоёрдахь func параметрээр хүлээлтийн хугацаа дуусахад дуудагдах функцийг авна. Хүлээлтийг setTimeout функцээр үүсгэх бөгөөд функц эхний параметрээр эргэн дуудалтын /callback/ функц харин хоёрдахь параметрээр хүлээлтийн хугацааг авдаг. setTimeout функцийн хоёрдахь параметр буюу хүлээлтийн хугацаанд oldDelay функцэд ирэх ms параметрийг өгөөд энэ хугацаа өнгөрөхөд ажиллах эргэн дуудалтын функцээс oldDelay функцэд параметрээр ирсэн func функцийг дуудна.

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

RxJs санг ашиглах хичээлд бид стримийг өөрсдөө үүсгэсэн бол энэ хичээлд Javascript -ийн бэлэн обьектоос буюу үйл явцаас стримийг /урсгал/ хэрхэн үүсгэх талаар үзье. Үүний тулд index.html файлд товчийг

...
<body>
    <button>Дарах</button>
<script src="node_modules/rxjs/bundles/rxjs.umd.min.js"></script>
<script src="index.js"></script>
</body>
...

үүсгэн өгөөд товч дээр дарах үйл явцаас стрим үүсгэхийн тулд index.js файлд

var button = document.querySelector('button');
var btn$ = Rx.Observable.fromEvent(button, 'click');

кодыг оруулан өгье.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

 

[-252; 299) завсарт орших 18 -д үлдэгдэлгүй хуваагдах тоонуудын нийлбэрийг ол.

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

 

тэгшитгэлийг бод.

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