computed -аар програмд оптимизац хийх

Програм ямар нэгэн алдаагүй зөв ажиллаж байх хэрэгтэйг бүгд мэднэ. Харин програм зохиогч өөрийн кодийг хурдтай ажилладаг, зохион байгуулалт сайтай, ойлгомжтой байлгахыг байнга эрмэлзэх ёстой. Програм зохиогч бүр програм боловсруулалтын DRY /do not repeat yourself/ дүрмийг ягштал биелүүлэн хэвшил болгосон байх хэрэгтэй. Хичээлээр Vue -гийн програмын ажиллагааг хэрхэн оновчтой /оптимизаци/ болгохыг доорх жишээгээр

        <div id="app">
            <h2>Тоолуур {{ counter}} </h2>
            <h3>{{ condition }}</h3>
            <button @click="add">Нэмэх</button>
            <button @click="sub">Хасах</button>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            new Vue({
                el: '#app',
                data: {
                    counter: 0,
                    condition: 'Тоолуур 3-аас бага'
                },
                methods: {
                    add: function() {
                        this.counter ++
                        this.condition = this.counter > 3 ? 'Тоолуур 3-аас их' : 'Тоолуур 3-аас бага'
                    },
                    sub: function() {
                        this.counter --
                        this.condition = this.counter > 3 ? 'Тоолуур 3-аас их' : 'Тоолуур 3-аас бага'
                    }
                }
            })
        </script>        
    </body>

авч үзье. Хуудаст тоолуурын counter талбар, харьцуулалтын үр дүнгийн condition талбаруудыг үзүүлэх h2, h3 гарчигаас гадна тоолуурын утгыг нэмэх, хасах хоёр товч байгаа.

Материалыг тусгай эрхтэй хэрэглэгч үзнэ.

request_quoteТусгай эрх авах

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

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

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 файлд

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

RxJs санг ашиглан стримээс тараах өгөгдлүүдээс сонголтыг маш эвтэйхэн зохион байгуулах аргын талаар энэ хичээлээр үзнэ. Үүний тулд of аргаар энгийн Observable /ажиглагч/ -ийг

Rx.Observable.of(1, 5, 'Hello', 'World')
    .first()
    .subscribe(createSubscribe('first'));

index.js файлд үүсгэн өгье. Код RxJs сангийн Observable классын of аргаар Observable /ажиглагч/ -ийг үүсгээд түүнд subscribe аргаар бүртгүүлсэн. Аргад өөрсдийн зохиосон туслах createSubscribe функцийг дамжуулна.

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

Асуултын хариултыг үзүүлэх компонентийг Хариултын хувилбарууд хичээлээр хэрэгжүүлэхдээ Quiz компонентийн quiz массивт зөвхөн хариулт хэсгийг тодорхойлоод асуултыг ActiveQuiz компонентод статик байдлаар тавин өгсөн байгаа. Одоо сорилгын төлвийн quiz массивийг бүрэн хэмжээний болгох ажиллагааг хийцгээе. quiz массивт асуултыг оруулая. quiz массивт асуултууд обьектуудийн массив хэлбэрээр тодорхойлогдож байгаа тул

  const [quiz, setQuiz] = useState(
    [      
      {
        question: "Дэлхийд хэдэн улс байдаг вэ?",
        answers: [
          { text: "210", id: 1 },
          { text: "190", id: 2 },
          { text: "250", id: 3 },
          { text: "180", id: 4 },
        ],        
      }
    ])

quiz массивийн обьектод question талбарыг нэмээд түүнд асуултыг оруулсан.

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

B(5;3) цэгт төгсгөлтэй AB вектор (3;1) гэсэн кординаттай бол A цэгийн абцисс, ординатын нийлбэрийг ол.

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

 

prob14_84_01 функцийн хязгаарыг ол.

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