data арга

Javascript хэлийг ашиглахгүйгээр сайт зохионо гэдэг бүтэхгүй зүйл гэдэг нь ойлгомжтой. Сайтын хэрэглэгч талын хуудаст олон төрлийн javascript санг ашигладаг байсан бол одоо сайтыг бүгдийг javascript фреймворк ашиглан хийдэг SPA /single page application/ технологийг улам ихээр хэрэглэх болсон. Эдгээрийн нэг болох Vuejs сангийн хичээлүүдийг сайтад нийтэлж байгаа бөгөөд энэ удаад Vue -гийн хувийн тохиргооны обьектод data талбарт обьект тодорхойлж болж байхад яагаад компонентын хувийн тохиргооны обьектод data талбарт функц тодорхойлох ёстойг авч үзье. Компонентууд ямар хэрэгтэй вэ? хичээлийн жишээг

    <body>
        <div id="app">
            <my-counter v-for="c in 2"></my-counter>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            Vue.component('my-counter', {
                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'
            })
        </script>        
    </body>

авч үзье. Файлыг хөтөч дээр нээвэл

хуудаст биенээсэээ үл хамаарах хоёр тоолуур ажиллана. Vue -гийн component аргын хоёрдахь параметрээр дамжуулсан обьектын data талбарт тодорхойлогдсон функц тэг утгатай counter талбартай обьектыг буцааж байгаа. Тэгвэл кодод

        <script>
            var dataObj = {
                counter: 0
            }
            
            Vue.component('my-counter', {
                ...
            })

            new Vue({
                el: '#app'
            })
        </script>

dataObj обьектыг үүсгээд түүнийг data талбарт тодорхойлогдсон функцээс

            Vue.component('my-counter', {
                ...
                data: function() {
                    return dataObj
                },
                ...
            })

буцааж болохоор. Файлын өөрчлөлтийг хадгалаад хөтөч дээрх хуудсаа шинэчлээд Тоолуурыг нэмэх товчнуудыг дарвал

тоолууруудын утга зэрэг нэмэгдэнэ. Өөрөөр хэлбэл тоолуурууд бие биеэсээ хамааралгүй ажиллахгүй болсон. Яагаад ийм байдал үүсэв гэхээр бид dataObj обьектыг нэг удаа үүсгээд data талбарт тодорхойлогдсон функцээс түүнийг буцаахад шинэ хувьсагч /обьект/ үүсгэлгүйгээр түүний холбоосыг /хаягийг/ буцаасан гэсэн үг. Иймээс кодод үүсгэж буй компонентууд нэг ижил обьекттой харьцах болсноор товч дарахад тоолууруудын утга зэрэг өөрчлөгдөнө. Ийм учраас компонентын тохиргооны обьектын data талбарыг обьект байдлаар тодорхойлоход Vue компонентын бие даасан ажиллагааг хангахын тулд түүнийг функцээр тодорхойлох ёстой гэсэн алдааг зааж байгаа хэрэг.

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

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

Программ ерөнхийдээ мөр мөрөөрөө дээрээсээ доошоо биелэгдэнэ. Нөхцлийн операторууд нь тодорхой нөхцлийг шалгаж түүний үр дүнгээс хамаарч програмын ажиллагааг өөр хэсэгт шилжүүлэх үйлдлийг хийнэ. Хамгийн энгийн нөхцөлт оператор нь ? бөгөөд дараах бүтэцтэй байна.

<нөхцөл> ? <1-р үйлдэл> : <2-р үйлдэл>

Хэрвээ <нөхцөл> үнэн (өөрөөр хэлбэл true утгатай) бол <1-р үйлдэл> биелэгдэнэ. Эсрэг тохиолдолд <2-р үйлдэл> биелэгдэнэ. Жишээ нь

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

Бодит ажилд нэг чиглүүлэгчээр шилжсэн хуудаснаас тухайн чиглүүлэгчид агуулагдах давхар чиглүүлэгчээр дамжин шинэ хуудас нээх хэрэгцээ их гардаг. Жишээ нь машины мэдээллийг харуулж буй Car компонентийн үзүүлж буй хуудаснаас тухайн машины талаар илүү дэлгэрэнгүй мэдээллийг харуулах хуудаст шилжих хэрэгтэй болсон гэе. Үүнийг VueJs -д давхар чиглүүлэгчийг ашиглан хийдэг. Car компонентоос өөр хуудаст шилжилт хийх гэж байгаа тул түүний шаблонд

<template>
  <div>
    <h1>Car id {{ id }}</h1>
    <button class="btn btn-sm btn-primary mb-2" @click="backToCars">Back</button>
    <br>
    <button class="btn btn-info mt-2">Full info</button>
  </div>
</template>

дахин нэг товчийг нэмэн өгье.

Жич: Хичээлийн материалийг ойлгохын тулд өмнөх хичээлүүдийг үзсэн байх хэрэгтэйг сануулахын дээр Vuejs фреймворкийн үндсэн ойлголтууд хичээлийн багцыг үзэхийг зөвлөе.

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

RxJs сангийн хүрээнд буфер гэж юу болох талаар энэ хичээлээр авч үзье. Буфер гэдгийг утгуудыг түр зуур хадгалах сав буюу орон зайг гэж ойлгоорой.

buffer, bufferTime арга

Практик жишээгээр ухагдхууныг ойлгох нь амархан байдаг учраас шууд

Rx.Observable.interval(500)
    .buffer(Rx.Observable.interval(2000))
    .take(3)
    .subscribe(createSubscribe('buffer'));

кодыг авч үзье. Хөтөч дээр хуудсаа нээвэл консолд

үр дүнг үзүүлнэ. Код юу хийж байгааг авч үзье.

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

Хукууд ердийн функцууд тул бид ч өөрсдөө хукийг зохион ашиглах боломжтой. Үүнийг input элемент, түүнд оруулсан текстийг үзүүлэх h1 гарчиг бүхий дараах энгийн

import React, {useState} from 'react'

function App() {
  const [name, setName] = useState('')
 
  const changeHandler = event => {
    setName(event.target.value)  
  }
 
  return (
    <div className="container pt-3">
      <input type="text" value={name} onChange={changeHandler}/>
      <h1>{name}</h1>
    </div>      
  );
}

export default App;

жишээгээр харцгаая.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

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

 

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

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