Функцийг параметр байдлаар дамжуулах

Хичээлээр компонент хоорондын харилцан ажиллагааны бас нэгэн аргыг авч үзье. Доод шатны /хүүхэд/ компонентоос параметр дамжуулах хичээлд бид хүүхэд компонентод үйл явц үүсгээд түүнийг эцэг компонентод сонсохыг сурсан. Өөрөөр хэлбэл эцэг компонентод тодорхойлогдсон талбарын утгыг хүүхэд компонентоос өөрчилсөн. Үүнийг хийх бас нэгэн арга бий. Жишээ нь App компонентод

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

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

carName талбарын утгыг Benz болгох changeCarName аргыг тодорхойлоод түүнийг Car компонентод

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

changeFunc нэрээр параметрээр дамжуулна. Car компонент

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

<script>
  export default {
    props: {
      carName: {
        type: String,
        default: 'Нэр байхгүй'
      },
      carYear: Number,
      changeFunc: Function
    },
    ...
  }
</script>

props талбартаа Function төрлийн changeFunc параметр ирнэ гэдгийг тодорхойлно. Ажиллагааг шалгахын тулд Car компонентийн темплейтэд Эцгээс нэрийг өөрчлөх товчийг нэмэн өгөөд түүн дээр дарах үйл явцын боловсруулагчаар App компонентоос ирсэн параметрийг функц байдлаар өгсөн. Өөрчлөлтүүдийг хадгалаад хуудсыг харвал

гэж харагдана. Нэрийг өөрчлөх товчийг дарвал машины нэр Prius болно гэдгийг Доод шатны /хүүхэд/ компонентоос параметр дамжуулах хичээлээс мэднэ. Харин Эцгээс нэрийг өөрчлөх товчийг дарвал

App компонентод тодорхойлсон changeCarName арга ажиллан нэрийг Benz болгоно. Нэрүүд хоёр компонентод зэрэг өөрчлөгдөж байгаагийн тухайд гэвэл carName талбарын утгыг App компонентод өөрчлөхөд Vue хуудасны өөрчлөлтийг тэр дор нь хийх учраас Car компонентод параметрээр ирэх утгууд ч бас өөрчлөгдөх болно. Энэ бол компонентууд хооронд хэрхэн харилцах өөр арга бөгөөд өмнө үзсэн болон энэ аргуудын алийг ч ашиглах боломжтой.

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

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

Өмнөх хичээлүүдэд бид react -ийг нилээд сайн судлан энгийн төслийг үүсгэн ажлуулж сурсан. Одоо react компонентуудийн талаар цааш гүнзгийрүүлэн судлах цаг болсон. Хичээлээр Component классаас удамшсан класс хэлбэрээр үүсгэгдсэн компонентод параметр дамжуулахыг авч үзье. Үүнийг төслийн App компонент дээр харцгаая. App компонентийг index.js файлд

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

ReactDOM сангийн render аргаар DOM -д оруулан өгч байгаа.

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

Програмд нэвтрэхэд хэрэглэгчийн нууц үгийг авах талбар ихэнхдээ байдаг. Ийм төрлийн талбарт шалгалтыг хэрхэн хийхийг сурцгаая. Үүний тулд Шалгалтын алдааг үзүүлэх хичээлийн App компонентийн шаблоны кодыг доорх байдлаар өргөжүүлье.

<template>
  <div class="container">
    <form action="" class="pt-4">
      <div class="form-group">
    ...
      </div>

      <div class="form-group">
        <label for="password">Password</label>
        <input
          type="password"
          id="password"
          class="form-control"
          :class="{'is-invalid': $v.password.$error}"
          @blur="$v.password.$touch()"
          v-model="password"
        >

      </div>      
    </form>
  </div>
</template>

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

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

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

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

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

Үйл явц нэмэх хичээлд хуудасны Гарчиг өөрчлөх товч дээр дарахад үүсэх үйл явцын боловсруулагчийг үүсгэн туршин үзсэн. Үйл явцын боловсруулагч changeTitleHandler функц консолд Товч дарагдсан текстийг л харуулж байгаа. Энэ удаадд үйл явцын боловсруулагчийн функционал ажиллагаа буюу h1 гарчигаар үзүүлж байгаа текстийг өөрчлөлтийг хийе. changeTitleHandler функцэд h1 гарчигаар үзүүлж байгаа текстийг

  changeTitleHandler = () => {
    console.log("Товч дарагдсан")
    this.state.pageTitle = "Товч дарагдсан"
  }

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

 

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

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

 

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

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