Цэс нээх хаах компонент

Програмийг удирдах цэсийг нээх болон хаах ажиллагааг хариуцах компонентийг боловсруулъя. Үүний тулд төслийн 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;

кодтой MenuToggle.js файлыг үүсгэе. MenuToggle функц ердийн icon буцаана. i тегээр үзүүлэх icon нд cls массиваар тодорхойлогдсон классуудыг join аргаар хоосон зайгаар тусгаарлагдсан мөрд шилжүүлэн className атрибутийн утга болгон өгсөн. Дүрс дээр даралт хийхэд дуудагдах onToggle функц компонентод props -оор дамжин ирнэ. cls массивт MenuToggle.module.css файлд тодорхойлогдсон MenuToggle классийг агуулна. MenuToggle функцээс icon фонтоор хэвжүүлсэн icon буцан ирэх учраас fa классийг агуулах ёстой. Үүний зэрэгцээ компонентод props -оор дамжин ирэх цэс нээлттэй эсэхийг тодорхойлох isOpen параметрээс хамааран cls массивт icon -ий нэрүүд солигдоно. Хэрвээ цэс нээлттэй бол cls массивт MenuToggle.module.css файлд тодорхойлогдсон open классийг нэмэн өгнө.
Компонентийн хэвжүүлэлтийн MenuToggle.module.css файлыг үүсгээд доорх

.MenuToggle {
  position: fixed;
  top: 40px;
  left: 40px;
  font-size: 20px;
  cursor: pointer;
  color: #fff;
  transition: opacity, left 0.22s ease-in;
  z-index: 100;
}

.MenuToggle:hover {
  opacity: 0.7;
}

.MenuToggle.open {
  left: 320px;
}

классуудыг тодорхойльё.
Удирдах цэсийг нээх болон хаах MenuToggle компонентийг дуудах хамгийн боломжтой компонент бол төслийн hoc хавтас доторх Layout компонент юм. Иймээс Layout компонентийн кодийг

import { useState } from "react"
import MenuToggle from "../../components/Navigation/MenuToggle/MenuToggle"
import classes from "./Layout.module.css";

const Layout = ({children}) => {
  const [menu, setMenu] = useState(false)
 
  const toggleMenuHandle = () => {
    setMenu(prev => {
      return !prev
    })
  }
 
  return (
    <div className={classes.Layout}>
      <MenuToggle onToggle={toggleMenuHandle} isOpen={menu} />
      <main>
        {children}
      </main>
    </div>
  )    
}

export default Layout;
>/pre>

болгон өөрчилье. Компонентод MenuToggle компонентийг импортлоод товчийг сорилго компонентийн дээр оруулан ирсэн. MenuToggle компонентод onToggle, isOpen атрибутуудыг дамжуулах ёстой тул компонентод цэс харагдах эсэхийг тодорхойлох false анхдагч утгатай төлөвийн menu хувьсагчийг үүсгэсэн. onToggle шинжийн утгаар toggleMenuHandle аргыг дамжуулсан. toggleMenuHandle арга цэс харагдах эсэхийг тодорхойлох menu талбарын утгыг сэлгэнэ. Өөрөөр хэлбэл false -оос true эсхүл true -гээс false болгоно. Өөрчлөлтийг хадгалаад хөтөч дээр хуудсаа харвал

r_06_11_01

menu талбар анхдагчаар false утгатай тул fa-bars иконийг харуулна. Икон дээр даралт хийвэл fa-times икон болон өөрчлөгдөхийн дээр дүрс аажмаар шилжинэ. Програмийн ажиллагааг шалган үзээрэй.

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

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

Сервертэй ажиллах vue-resource хэрэгслийн зарим нэгэн параметрүүдийг глобалаар тохируулахыг авч үзье. Өмнөх хичээлүүдэд $resource системийн аргад серверт хандах http://localhost:3000/cars хаягийг мөр хэлбэрээр дамжуулан resource обьектыг буцаан авч байсан. Програмын backend сервер ихэнхдээ нэг сервер буюу машинд байрлан өгөгдлийн санд хандах суурь хаяг тогтмол байдаг.

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

Vue CLI хэрэгслэээр үүсгэсэн төслийн эхлэлийн цэг бол

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')

кодийг агуулсан main.js файл юм. npm run serve командаар ачааллагдах боловсруулалтын сервер хандан ажиллах public хавтас доторх index.html файлд

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

Техник технологийн хөгжлийн үрээр бүхий л зүйл өөрчлөгдөн шинэчлэгдэж байдаг. Энэ үзэгдэл мэдээллийн технологийн салбарт бүр ч илүү хурдтай явдагийг бүгд мэднэ. Иймээс энэ салбарт ажиллаж буй мэрэгжилтэнүүд болон ажиллахаар бэлтгэгдэж байгаа залуусын хамгийн эхний зорилт бол хөгжлөөс хоцрохгүй байх юм. Сүүлийн жилүүдэд javascrip хэл маш хурдацтай хөгжин түүнийг програм зохиох ажилд улам өргөнөөр ашиглах болсон тул хэлийг сурч хөгжилтэй нь хөл нийлүүлэхэд туслах зорилгоор ES6 хэлний циклд шинээр нэмэгдсэн зүйлийн талаар энэ хичээлээр үзье.

Циклийн боломжийг дараах

const array = [1, 2, 3, 4, 5];

массиваар авч үзье. Дээрх массивын элементүүдийг консолд гаргахад өмнө хоёр аргыг ашиглаж болдогийн нэг бол for циклийг

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

Javascript дээр бичигдсэн RxJs сан нь програмчлалыг рейктив /reactive/ аргачлалаар боловсруулахад зориулагдсан. RxJs санг ашиглан массив, мөрүүд, тоонууд, промис /promise/, үйл явцууд /event/ гэх мэтийн өгөгдлийн төрлүүдээс гадна дурын синхрон зүйлүүдтэй амархан харьцан ажиллах боломжтой. Стримүүдийг нэгтгэх I хичээлд RxJs санг ашиглан өөр стримүүдийг нэг стримд нэгтгэх аргуудтай танилцаж ба энэ хичээлээр аргуудыг үргэлжлүүлэн авч үзнэ.

concatMap арга

Арга mergeMap аргатай тун адилхан. Аргыг ажиллагааг

Rx.Observable.range(1, 5)
    .concatMap((x, i) => {
        return Rx.Observable.interval(100)
            .take(x)
            .map(c => i)
    })
    .subscribe(createSubscribe('concatMap'));

кодоос харцгаая.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

Талууд нь 5; 12; 13 нэгж урттай гурвалжны хэлбэрийг тогтоогоорой.

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

 

Призмд багтсан V эзэлхүүнтэй дөрвөн өнцөгт зөв пирамидийн оройнууд дээд суурийн төв болон доод суурийн талуудын дундаж цэгүүд харгалзах бол призмийн эзэлхүүнийг ол.

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