Өөрчлөлтийг 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 талбарт тодорхойлогдсон функцэд дамжин ирэх параметрийг ашиглахад кодын ажиллагаанд ямарч өөрчлөлт орохгүй хэвийн ажиллана. Үүнийг туршаад үзээрэй.

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

JSX

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

Энэ хичээлээс эхлэн react ашигладаг jsx бичлэгийн дүрмийн талаар дэлгэрүүлэн авч үзнэ. Өмнөх хичээлүүдэд хуудасны хэвийн тэмдэглэгээний jsx бичлэгийн дүрмийн үндсэн ойлголтуудыг үзсэн. Энэ удаад jsx гэж юу болох, хэрхэн ажилладагийг react програм үүсгэх хичээлд үүсгэсэн төслийн кодоор авч үзье. Бидний үүсгэсэн төслийн оролтын index.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

файлд ReactDOM обьектын render аргад App нэрээр импортлон авсан App компонентийг эхний параметрээр дамжуулж байгаа.

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

Цэсийг нээх хаах ажиллагааг хариуцах компонентийг боловсруулсан тул энэ хичээлээр програмийн удирдах цэсийг хийе. Үүний тулд төслийн components хавтасны Navigation хавтаст цэсний компонентийн Drawer хавтасыг үүсгээд түүнд Drawer.js, Links.js, Drawer.module.css файлуудыг үүсгэн өгье. Drawer.js файлд

import classes from "./Drawer.module.css";
import {links} from "./Links"

const Drawer = (props) => {
  const renderLinks = () => {
    return links.map((link, index) => {
      return (
        <li key={index}>
          <a href="/#">Link {link}</a>
        </li>
      );
    });
  }
    
  return (
    <nav className={classes.Drawer}>
      <ul>{renderLinks()}</ul>
    </nav>
  )
}

export default Drawer;

код бүхий компонентийг үүсгэе.

  Нээгдсэн тоо: 429 Нийтийн

Vuejs сервертэй хэрхэн ажиллах талаар судлая. Vuejs сервертэй ажиллах ажиллагаанд онцгой зүйлүүд ердөө байхгүй. Vuejs нь өөрөө javascript сан учраас сервертэй ажилладаг дурын javascript санг ашиглаж болохын дээр өөрсдөө ч бичиж болно. Жишээ нь сервертэй ажиллахын тулд jquery -г оруулан ajax -ыг эсхүл axois -ийг ашиглаж болно. Бид хичээлдээ Vuejs -ээр сервертэй ажиллахад зориулан боловсруулсан vue-resource хэрэгслийг ашиглах болно. Сервертэй ажиллах жишээнүүдийг хоосон төслөөс эхлүүлье.

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

4 хүнийг нэг эгнээнд хичнээн янзаар жагсах боломжтой вэ?

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

 

тэгшитгэлийн хамгийн бага эерэг шийдийг ол.

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