Хүүхэд компонент хоорондын холбоо

Өмнөх хичээлүүдэд бид эцэг болон хүүхэд компонентууд хоорондын харилцан ажиллагааг судалсан. Одоо хүүхэд компонентууд буюу нэг түвшингийн компонентууд хоорондоо хэрхэн харьцах талаар үзье. Үүний тулд төслийн components хавтаст

<template>
  <div>
    <h1>Тоолуур: {{ counter }}</h1>
  </div>  
</template>

<script>
export default {
  props: ['counter']    
}
</script>

кодтой Counter.vue компонентийг үүсгэе. Counter компонент өөртөө ирэх параметрийн утгыг h1 тегд тоолуурын утгаар л үзүүлнэ.

Нэг түвшингийн хоёр компонентийг үүсгэхийн тулд Counter компонентийг App компонентод

<template>
  <div>
    <h1>Эцэг: {{ carName }}</h1>
    <app-counter :counter="counter"></app-counter>
    <app-car
      :carName="carName"
      :carYear="carYear"
      :counter="counter"
      :changeFunc="changeCarName"
      @nameChanged = "carName = $event"
    ></app-car>  
  </div>
</template>

<script>
import Car from './components/Car.vue'
import Counter from './components/Counter.vue'

export default {
  data () {
    return {
      carName: 'Toyota',
      carYear: 2018,
      counter: 0
    }
  },
  methods: {
    changeCarName() {
      this.carName = 'Benz'
    }
  },
  components: {
    appCar: Car,
    appCounter: Counter
  }
}
</script>

бүртгүүлэн ашиглана. Кодын нэмэлтийн тухайд гэвэл import Counter from './components/Counter.vue' команд компонентийг components хавтасны Counter.vue файлаас импортлохыг заана. Дараа нь бид компонентийг App компонентоос экспорт хийх обьектийн components талбарын обьектод нэмэн өгөх ёстой. Үүний дараа компонентийг App компонентийн хэвд <app-counter :counter="counter"></app-counter> гэж Counter компонентийг оруулан ирнэ. Counter компонентод counter параметрийг counter талбартай холбон дамжуулах учраас data функцээс буцаах обьектод counter талбарыг 0 утгатайгаар үүсгэсэн. Ингэснээр App компонент Car, Counter гэсэн нэг түвшингийн хоёр хүүхэд компоненттой болсон. Хичээлийн зорилго нэг түвшингийн компонентууд хоорондын харьцаа учраас гол асуудал бол Car компонентоос Counter компонентийн тоолуурын утгыг өөрчлөх юм. Иймээс эцэг App компонентод тодорхойлогдсон counter талбарыг Car компонентоос удирдахын тулд түүнийг параметрээр :counter="counter" гэж Car компонентод дамжуулж байгааг анхаарна уу. Өөрөөр хэлбэл App компонентод тодорхойлогдсон counter талбарыг доод түвшингийн хоёр компонентод хоёуланд нь параметрээр дамжуулсанаар тэд хоорондоо харьцах боломжийг бүрдүүлж байгаа хэрэг. Одоо Car компонентийн кодыг

<template>
  <div class="car">
    <h3>Name: {{ carName }} \ {{reverseName}}</h3>
    <p>Year: {{ carYear }}</p>
    <button @click="changeName">Нэрийг өөрчлөх</button>
    <button @click="changeFunc()">Эцгээс нэрийг өөрчлөх</button>
    <button @click="updateCounter">Тоолуурыг нэмэгдүүлэх</button>
  </div>
</template>

<script>
  export default {
    props: {
      carName: {
        type: String,
        default: 'Нэр байхгүй'
      },
      carYear: Number,
      changeFunc: Function,
      counter: Number
    },
    methods: {
      changeName() {
        this.$emit('nameChanged', 'Prius')
      },
      updateCounter() {
        this.$emit('counterUpdated', 1)
      }
    },
    computed: {
      reverseName() {
        return this.carName.split('').reverse().join('')
      }
    }
  }
</script>

<style>
  .car {
    border: 1px solid green;
  }
</style>

болгон өөрчилнө. Компонентод эцэг компонентоос бас нэг параметр нэмэгдэн ирэх тул түүнийг props талбарын обьектод counter: Number гэж нэмнэ. Тоолуурыг Car компонентоос удирдахын тулд түүний шаблонд Тоолуурыг нэмэгдүүлэх товчийг нэмээд товч дээр дарах үйл явцын боловсруулагч updateCounter -ийг холбоно. Үүний дараа Car компонентоос экспортлогдох обьектийн methods талбарт updateCounter аргыг нэмэн оруулна. updateCounter арга changeName аргатай ижил counterUpdated үйл явцыг үүсгээд түүнд 1 утгыг дамжуулна. Үүнийг бид Доод шатны /хүүхэд/ компонентоос параметр дамжуулах хичээлд дэлгэрэнгүй үзсэн. Одоо програмыг ажлуулбал

дээрх хуудсыг үзүүлэх боловч Тоолуурыг нэмэгдүүлэх товчийг дарахад тоолуурын утга нэмэгдэхгүй. Яагаад товч ажиллахгүй байгаа шалтгааныг олохыг танд үлдээе. Асуудлыг шийдлийг event emiter -ийг ашиглах хичээлээс үзээрэй.

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

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

react програмд css препроцессорийг /CSS preprocessor/ хэрхэн ашиглах талаар авч үзье. css препроцессор /CSS preprocessor/ гэдэг нь тусгай бичлэгийн дүрмээр бичигдсэн кодоос ердийн css кодийн генераци хийдэг програмууд юм. Sass, Less, PostCss гээд олон тооны препроцессорууд байдаг ба эдгээрийн ихэнх нь css -ийн боломжуудыг нэмэгдүүлэн кодийн удирдагыг сайжруулдаг. react-scripts -ийн 2 -оос дээшхи хувилбарт css препроцессорийг оруулан ирэх ажиллагааг амархан болгон өгсөн. react програмд css препроцессорийг ашиглахын тулд эхлээд препроцессорийг суулгах хэрэгтэй.

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

Хичээлээр Vuejs -ийг ашиглан энгийн програмыг зохиоё. Үүний тулд Vuejs -ийн албан ёсны сайтад хандан GET STARTED цэсээр ороод хуудасны зүүн талын цэсээс Installation цэсийг сонговол

Vuejs -ийг суулгах аргуудын талаар дэлгэрэнгүй тайлбарласан хуудас нээгдэнэ. Vuejs бага хэмжээтэй энгийн фреймворк учраас түүнтэй ажиллахын тулд олон тооны тохиргоонууд хийн ажиллах орчинг бүрдүүлээд байх хэрэггүй кодод javascript санг оруулдагийн адилаар нэг script тэг ашиглан Vuejs -ийг оруулаад түүнийг ашиглах боломжтой. Vuejs -ийг ашиглах хамгийн энгийн ойлгомжтой арга бол CDN -ээс санг script тэгээр коддоо оруулан ирэх юм. Бид фреймворкийн ажиллагааг судлах гэж байгаа тул <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> мөрийг хуулан аваад дурын текст засварлагчийг нээгээд index.html файлыг доорх агуулгатайгаар

үүсгэн өгье.

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

Промисүүдийн ашиглалтыг илүү тод харуулахын тулд алслагдсан сервэрийг ашиглах жишээг харцгаая. Алслагдсан сервертэй ажиллахад хөнгөн болгох үүднээс төсөлд jquery санг суулгая. Үүний тулд терминалыг нээгээд

npm i -s jquery командыг өгөхөд npm пакет төсөлд jquery санг суулгана. Төслийн package.json файлын dependencies талбарт "jquery": "^3.3.1" хамаарал нэмэгдэн орж ирнэ. Одоо төсөлд jquery санг ашиглах боломжтой болсон тул кодоо бичье.

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

Програмийн цэсийн хэрэгжүүлэлтийн компонентийг хийсний дараа хуудсаа нээгээд fa-bars икон дээр дарахад

r_06_13_01

дээрх байдлаар харагдаж байгаа. Харин цэсийг эргэн харагдахгүй болгох ажиллагааг fa-times буюу x дүрс хариуцаж байгаа. Цэсийг хаах ажиллагаа fa-times буюу x дүрс дээр дарах үйл явцын боловсруулагчаас гадна цэсний гадна талд дарахад хийгддэг байвал ашиглалтын талаасаа илүү эвтэйхэн гэдэг нь ойлгомжтой.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Өдрийн хуваарьт 5 хичээл ордог. Тэгвэл 11 хичээлээс зохиож болох хуваарийн хувилбарын тоог ол. Нэг хичээл өдөрт нэг удаа л орно.

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

 

y=8x3 ба y=8x функцуудын графикаар хязгаарлагдсан дүрсийн талбайг ол.

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

 

тэгшитгэлийн язгуурууд x1 , x2 , x3 бол

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