Формийг илгээх

Өмнөх хичээлүүдэд хэрэглэгчийн оруулсан эмайл, нууц үгэнд шалгалт хийх формыг зохиогоод байгаа. Өөрөөр хэлбэл бид бүртгэлийн формийг үүсгэсэн. Одоо формдоо түүнийг илгээх товчийг нэмвэл бүрэн хэмжээний ажиллагаатай болохоор байгаа. Иймээс формийн хэвд хамгийн сүүлийн form-group класстай div -ийн ард

<template>
  <div class="container">
    <form action="" class="pt-4">
      ...    
      <button class="btn btn-success">Submit</button>            
    </form>
  </div>
</template>

bootstrap -ээр хэвжүүлсэн Submit товчийг нэмэн оруулаад хуудсаа шинэчилбэл

гэж харагдана. Одоо Submit товчийг дарвал шалгалт хийгдээгүй хоосон талбаруудыг илгээнэ. Иймээс эхний ээлжинд форм шалгалтыг даваагүй байхад Submit товчийг дарах боломжгүй байлгаад форм шалгалтыг даван өөрөө хэлбэл талбарууд зөв мэдээллүүдтэй болсон тохиолдолд түүнийг идэвхитэй болгох шаардлагатай. Үүний тулд хуудасны шаблон дахь Submit товчны кодыг

<template>
  <div class="container">
    <form action="" class="pt-4">
      ...
      <button
        class="btn btn-success"
        type="submit"
        :disabled="$v.$invalid"
      >Submit</button>            
    </form>
  </div>
</template>

болгон өөрчилье. Кодод товчны төрлийг submit болгоод түүний disabled атрибутыг $v.$invalid төлөвтэй холбон өгсөн. Валидаторийг тохируулах хичээлд Vuelidate пакетийн төлвүүдийг $v обьект агуулж байдгийг мэдсэн. Обьектод талбаруудаас гадна формийн төлвийг хариуцаж байдаг талбарууд байдаг ба $invalid талбар нь форм бүхэлдээ шалгагдан зөв болсон тохиололд true утгыг авдаг. Иймээс disabled атрибутыг $v.$invalid төлөвтэй холбон өгч байгаа юм. Өөрчлөлтийг хадгалаад хуудсаа шинэчилбэл

Submit товч идэвхигүй буюу түүн дээр дарах боломжгүй болсон байгаа. Хэрэглэгч формийн бүх талбарт зөв мэдээллийг оруулсны дараа л Submit товч идэвхитэй болно. Үүнийг өөрсдөө шалгаарай. Формийн бүх талбарт зөв мэдээллийг оруулаад Submit товчийг дарахад формийн өгөгдлүүд цэвэрлэгдэнэ. Формын талбаруудыг шууд цэвэрлэх нь сайнгүй. Иймээс формыг Vuejs -ээр илгээхээр болгон өөрчилье. Үүний тулд компонентийн хэвийн формийн кодыг  

<template>
  <div class="container">
    <form action="" class="pt-4" @submit.prevent="onSubmit">
      ...
      <button
        class="btn btn-success"
        type="submit"
        :disabled="$v.$invalid"
      >Submit</button>            
    </form>
  </div>
</template>

дээрх байдлаар өөрчилье. Шаблоны form тегд javascript -ийн өөрийнх нь submit үйл явцад onSubmit сонсогчийг тавин өгсөн. Үйл явцын prevent модификатор хуудасны дахин ачаалалтыг болиулдаг гэдгийг бид үзсэн. onSubmit сонсогчийг компонентийн кодын хэсэгт

<script>
import { required, email, minLength, sameAs } from 'vuelidate/lib/validators'
export default {
  data () {
    return {
      email: '',
      password: '',
      confirmPassword: ''
    }
  },
  methods: {
    onSubmit() {
      console.log('Email', this.email)
      console.log('Password', this.password)
    }
  },
  ...
}
</script>

methods талбарт тодорхойлон өгөх ёстой. onSubmit арга форм бүх шалгагчийн давсны дараа л дуудагдана. Арга хэрэглэгчээс оруулсан формийн мэдээллийг backend серверт дамжуулна. Хичээлд энэ талаар үзэхгүй тул хэрэлэгчээс оруулсан мэдээллийг консолд үзүүлье. Өөрчлөлтүүдийг хадгалаад хуудсаа шинэчлээд

формийг зөв мэдээллүүдээр бөглөөд Submit товчийг дарвал хуудсыг дахин ачааллан формийг цэвэрлэхгүйгээс гадна консолд хэрэглэгчээс оруулсан майл хаяг, нууц үгийг үзүүлнэ. Одоо хэрэглэгчийн мэдээллийг ашиглаж болохын дээр түүнийг серверт илгээн серверээс хариу авсны дараагаар түүнийг цэвэрлэх эсэхээ шийдэх юм.

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

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

Өмнөх Хулганы товч даралтын боловсруулалт хичээлд асуулт, түүний хариултуудын хувилбарууд, зөв хариултын дугаар зэргийг quiz массивт тодорхойлон өгснөөр манай төслийн сорилго явуулах хуудас

r_06_05_02

байдлаар харагдах болсон.

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

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

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

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

Програмийг удирдах цэсийг нээх болон хаах ажиллагааг хариуцах компонентийг боловсруулъя. Үүний тулд төслийн components хавтаст Navigation хавтасыг үүсгээд түүн дотор цэсний шилжилтийн компонентийн MenuToggle хавтасыг үүсгээрэй. Компонентийн хавтаст

import React from "react";
import classes from "./MenuToggle.module.css";

const MenuToggle = (props) => {
  const cls = [classes.MenuToggle, "fa"];
  if (props.isOpen) {
    cls.push("fa-times");
    cls.push(classes.open);
  } else {
    cls.push("fa-bars");
  }

  return <i className={cls.join(" ")} onClick={props.onToggle} />;
};

export default MenuToggle;

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

Компонентыг бүртгүүлэх хичээлд компонентийн нэрийг 'my-counter' гэж мөр төрлөөр бичин өгсөн. Энэ нь зарим тохиолдолд асуудал үүсгэдэг. Жишээ нь та төсlлийн кодыг бичиж буй засварлагчид кодыг цэвэр байлгах ямар нэгэн хэрэгсэл /linter/ ашиглаж байвал нэрэнд хашилтыг хэрэглэвэл төслийн хэвээс хасагддаг тул үүнийг ашиглахгүй байх нь дээр. Иймээс VueJs -д компонентийн нэрийг үүсгэх өөр аргачлал байдаг. Компонентийн нэрийг өгөхдөө

            new Vue({
                el: '#app',
                components: {
                    'my-counter': component
                }
            });

хашилтанд my-counter гэж html кодод ашиглах тегийн нэрийг өгсөн байгаа.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Кубын ирмэг a. Дээд талын төвийг суурийн оройтой холбоход үүсэх пирамидийн бүтэн гадаргуун талбайг ол.

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

 

A=(-2; 3; 5), B=(4; -1; 7) векторууд өгөгджээ. 3A-2B векторын координатуудын нийлбэрийг ол.

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

 

Утасны лавлах номыг дэлгэн 7 цифрээс бүрдсэн дугаарыг санамсаргүйгээр байдлаар сонгоход дугаарын сүүлийн дөрвөн цифрүүд ижил байх хувилбарын тоог ол.

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