
In this lesson, we will give you a brief introduction of how a Vue program works internally. We will also compare Vue with CodeIgniter, which is built using the more traditional MVC architecture.
In this lesson, we will show you how Vue 2 updates template elements.
I know of your past fondness for the Object.defineProperty() method, but I can whole-heartedly endorse a new breed of ES6--PROXY. And I know you will appreciate the matching REFLECT object.
In this lesson, we will introduce to you the two most fundamental design patters: factory pattern and singleton pattern. These two patterns generate the opposite results.
In this lesson, we will create our first Vue 3 program. In this process, we will introduce to you a series of key concepts like the app instance, the root component instance, vNode, etc. You will also learn ref which is a very useful development tool.
In this lesson, we will set the data option in the options object. We will also try the setup function. We will show you how custom properties are saved into the component instance object.
In this lesson, we will show you how to display custom properties in the component template.
The v bind directive is the most important and commonly used Vue directive, allowing us to control attribute values. It is very important you understand HTML attributes controlled by the v bind directive are NOT real HTML attributes. They are actually arguments of the v bind directive. They are specifically named after native HTML attributes.
In this lesson, we will show you less commonly used Vue directives.
Conditional rendering.
The V FOR directive is the Vue equivalent of the FOR loop statement. It helps us iterate over an array or an object. In your real-life projects, the V FOR directive is often used to display data retrieved from the backend API.
Learn to render a json array with Vue's v-for, using aliases and inner loops to display object properties, handle unknown shapes, and selectively hide the ID property.
Learn that computed properties in Vue.js 3 must not modify data properties in a getter, as getters trigger only when accessed, with age depending on year and caution with arrays.
Sort a JSON array by year ascending with a computed property for a v-for list, keeping it reactive without mutating the original array, and add newest first and newest last.
Explore how the .passive modifier improves efficiency during scroll or zoom by signaling the browser not to call the prevent default method.
Explore how the sort method sorts arrays in place in JavaScript, using a comparator with a and b to return numbers for ascending or descending order and custom criteria.
Demonstrate the reduce method to deduplicate a cities array by building a list of unique names. Learn to adapt reduce to collect matches, such as items priced over 110.
Find the index of the biggest number without altering the array using a for loop or reduce, then apply to objects by identifying the highest price and listing all matches.
Learn to refactor a price-searching algorithm into a single reduce operation that finds the highest price and collects all matching items in one loop.
Create a dynamic Vue.js 3 list with v-for, pull in object properties with a nested v-for, and sort by date using two show/hide buttons that toggle enabled states.
Fetch initial comments from the backend via the created hook. Use a computed pinned comments array to move the pinned item to the top.
Integrate cookies into the menu to remember selections by the init method building the order array from cookies and updating it with show, hide, and set cookie actions.
Learn recursion and how to deep copy arrays and objects, using for-in loops and the Israeli method to distinguish reference values from primitives for independent copies.
Learn how to bind CSS classes in Vue.js using v-bind:class with object and array syntax. Control background and text classes through data properties and theme configurations to create dynamic styling.
Apply Vue.js 3 techniques to render a city list with v-for, bind classes for even and odd indices, use v-model to select cities, and color selected items tomato via styles.
Use a getter in the dollar sign watch return expression, watch multiple targets like city and nation with watcher, and monitor a sum a + b to trigger on changes.
This course teaches Vue 3, Tailwind, Pinia, and Vite.
The Vue section includes Vue 3, Vue Router, VueX, and the composition API.
No Vue 2 experience is needed. Everything is taught from the beginning, including basic JavaScript knowledge.
Vue is just a toolbox; we are responsible for picking the right tools for the right job.
We analyze our project and then find the needed Vue features. This requires a thorough and deep understanding of Vue features. You must know them inside out. This is also what we strive to achieve with this course.
For example, the “v on” directive seems identical to the native “addEventListener” method. But they are not. When “closure” is involved, the difference between these two shows up right away.
If you don’t know this and your program design relies on “closure,” it will inevitably fail. You will waste hours trying to find the reason, which might then delay development progress.
Crossing Disciplinary Boundaries:
Your real-life projects do not care about what Vue can or cannot do. So you often need to cross disciplinary boundaries, integrating Vue with non-Vue technologies.
For example, saving the new item order needs COOKIE while creating a list may require recursion.
Our goal is to build a complete project, not just the Vue section of that project. So all non-Vue subjects will be taught before being used in our Vue program.
Coordinating Vue and non-Vue features:
Crossing disciplinary boundaries inevitably brings another challenge—compatibility. You cannot just put two different things together and expect them to work smoothly right away.
For example, we need to modify the recursion program in order to fit the Vue render method in it.
Axios allows us to cancel an ongoing request. To install it in the Vue “watchEffect” method, we need to borrow the scope of the setup function. This requires three parties to work together.
About Single-File Components:
We specifically delayed the introduction of the single file component. Most projects in the Vue section are made of only one HTML file, helping you focus on Vue. But don’t worry, you have plenty of opportunities to work with single-file components. The Pinia and Tailwind sections both use single-file components.