Vue.js Digest 🇷🇺 🇺🇸
39 subscribers
389 photos
745 links
Дайджест новостей из мира vuejs
Download Telegram
Windows ClipBoard History Clone Using Electron And Vue.js

https://decodebuzzing.medium.com/windows-clipboard-history-clone-using-electron-and-vue-js-587b658dff33?source=rss------vuejs-5
Why not create your own Windows ClipBoard History Clone Using Electron js and Vue.js + with better features?Continue reading on Medium »
Placeholder title

https://dev.to/modex98/placeholder-title-bnb
Web developer (MEVN stack) my email is [email protected]
When Vue Meets Proxy

https://levelup.gitconnected.com/when-vue-meets-proxy-402e9e3c6722?source=rss------vuejs-5
Examine Internal of vue.JS to Reveal How It Uses Proxy to Achieve ReactivityContinue reading on Level Up Coding »
Using v-model with objects in Vue3

https://dev.to/blindkai/objects-and-v-model-in-vue3-1l9h
Motivation

When I was using Vue2 along with vue-class-component and vue-property-decorator it was easy to synchronize v-models between components simply using @ModelSync(). When Vue 3 came out with its Composition API another way was needed to achieve the same result as if Class Component was used.



Implementation

If you're already familiar with the capabilities of Composition API, then simply use computed within setup to update the modelValue whenever it changes.
1) In child component define a model property with the default value



import { defineComponent } from 'vue';
<script>
export default defineComponent({
name: 'FancyComponent',
props: {
modelValue: { // Declare the property
type: Object,
default: () => ({}), // Do not forget about default value
},
}
});
</script>


2) In setup() define a computed property and expose it:



<template>
<div>
<input v-model="theModel.foo" /> <!-- Usage of model -->
</div>
</template>
<script>
import { defineComponent, computed } from 'vue';
export default defineComponent({
name: 'FancyComponent',
emits: ['update:modelValue'], // The component emits an event
props: {
modelValue: {
type: Object,
default: () => ({}),
},
},
setup(props, { emit }) {
const theModel = computed({ // Use computed to wrap the object
get: () => props.modelValue,
set: (value) => emit('update:modelValue', value),
});
return { theModel };
}
});
</script>


3) In parent component use v-model directive:



<template>
<FancyComponent v-model="someObject" />
</template>





TypeScript

In the case of using TypeScript, there is one minor addition to the code above. PropType<T> is used it order to annotate the model type.



<script>
import { defineComponent, computed, PropType } from 'vue';
interface OurModelType {
foo: string;
}
export default defineComponent({
name: 'FancyComponent',
emits: ['update:modelValue'],
props: {
modelValue: {
type: Object as PropType<OurModelType>, // Type Annotation
default: () => ({}),
},
},
setup(props, { emit }) {
const theModel = computed({
get: () => props.modelValue,
set: (value) => emit('update:modelValue', value),
});
return { theModel };
}
});
</script>


And it's all you need to know to pass reactive objects into your custom components as v-model.
Difference between Angular Vs React Vs Vuejs

https://medium.com/@externlabs/difference-between-angular-vs-react-vs-vuejs-51781b8c7bed?source=rss------vuejs-5
VueJS vs React vs AngularContinue reading on Medium »
Nuxt.js & Vercel Entegrasyonu

https://medium.com/@serdargoleli/nuxt-js-vercel-entegrasyonu-6aef84cf8575?source=rss------vuejs-5
Gelişen teknolojiler ile birlikte her gün yeni teknolojiler, kütüphaneler ve frameworkler çıkıyor. Bu yazımda sizlere nuxt.js ile…Continue reading on Medium »
League of Legends!

https://dev.to/thuongtruong1009/league-of-legends-i21
Hi!

Practice is the best ways to learn. I beginning with VueJs and i have just been public League of Legend web clone.

You can get a preview at league-of-legends-clone.

If you like this, let it a star bonus to support me!

Thank you very much!

Happy coding 😊
What are the differences between the following two methods?

https://dev.to/shweblee/what-are-the-differences-between-the-following-two-methods-2l29
What are the differences between the following two methods, please?

eg1: const router = new vueRouter({...}) export default router
eg2: export const router = new vueRouter({...})
Learn to Integrate Firebase Authentication with Your Nuxt.js Project

https://javascript.plainenglish.io/learn-to-integrate-firebase-authentication-with-your-nuxt-js-project-90c5238f18a7?source=rss------vuejs-5
In this guide, you are going to learn about how to use Google’s Firebase authentication service in your Nuxt.js app.Continue reading on JavaScript in Plain English »
Tutorial - Payment Gateway Integration

https://dev.to/bacancy_technology/tutorial-payment-gateway-integration-42oc
We are living in the era of technology, To develop a powerful application with smooth runs - you need to select the right set of technologies. Right now, the combination of Laravel and Vue.js is very popular and provides significant results to clients. Specially the need for this combination is increasing for E-commerce websites.
Today, we shared the tutorial of integrating the Razorpay payment gateway to your Laravel 6/7/8 versions along with VueJS.
In the article, We cover up the following points.

Initial Set-Up: Laravel and NPM Dependencies Installation
Include /js/app.js and app tag in the view
VueJS Set-Up: Razorpay Payment Gateway Integration in Laravel and VueJS 2
Create App.vue File
Create Razorpay Account
Set-Up and Install Razorpay Package
Create Razorpay Controller
Add Routes
Create Razorpay View
Check Transaction

I hope you find this tutorial up to your expectations. If you have any doubts regarding this tutorial or have any, you contact us and explore your knowledge about Payment gateway integration. If you want to read more tutorials related to technologies, visit our website now.
Going on a virtual journey (BMW project, part 2)

https://digital-natives-budapest.iss.onedium.com/going-on-a-virtual-journey-bmw-project-part-2-faa4ba59021?source=rss------vuejs-5
“D³: DeepDiveDev” is Dina’s series of development project related articles — our teach team’s mind poured out on paper with all creativity.Continue reading on Medium »
How To Develop A Progressive Web Application On An Android Device

https://dev.to/unfor19/how-to-develop-a-progressive-web-application-on-an-android-device-39jj
In the past few weeks I've been wondering how the whole eco-system of a Progressive Web Application (PWA) works. As always, I need to get my hands dirty and code something to understand it.
My main goal is to provision a local development environment, which hot-reloads (code changed) the application on a physical Android device.
The main challenge was to figure out a way to access the PWA which is running on my local machine from my Android device (Samsung Galaxy S10). Why you ask? Because PWA requires HTTPS access so using IP addresses is not an option.
Ladies and gentleman, I present to you - unfor19/pwa-quasar-local

This project demonstrates how to develop a Progressive Web Application (PWA) locally on an Android device, using the Quasar Framework v2.




Final Results

I took screenshots with my Android device during the process to document the full user-experience of installing a PWA for the first time.



Accessed PWA From Android Device

The Add to Home Screen popup appears!




Clicked Add To Home Screen





Clicked Install





Installation Completed





PWA Appears On The Device's Apps List





PWA Has A Cool Splashscreen

That is thanks to Quasar which does it, as always, automatically.




First Run After Installation

The application is running on the device as if it were a "normal application".




Final Words

It was a true joy to work with Quasar since it made the whole process of generating a PWA out-of-the-box, without writing a single line of code. So head over to unfor19/pwa-quasar-local and do your PWA magic!
Using axios globally in a Vue 3 with provide/inject (composition API)

https://dev.to/avxkim/using-axios-globally-in-a-vue-3-with-provideinject-composition-api-1jk5
In a Vue 2 we had to use Vue.prototype in order to add global properties to a Vue instance. But in a Vue 3 we got "Composition API" (better version of React hooks, imo 😂)
So, using a composition api, recommended way to add global properties, is by using provide/inject. Because config.globalProperties considered as an escape hatch
Let's get started.



1. Create a file called http.ts (you can name it as you wish):


import axios, { AxiosInstance } from 'axios'
const apiClient: AxiosInstance = axios.create({
baseURL: 'https://api.openbrewerydb.org',
headers: {
'Content-type': 'application/json',
},
})
export default apiClient


It's our global Axios instance with the options.



2. Create a file symbols.ts


import { InjectionKey } from 'vue'
import { AxiosInstance } from 'axios'
export const AxiosKey: InjectionKey<AxiosInstance> = Symbol('http')


This is required to type our Provide/Inject.



3. Go to main.ts


// libs
import http from '@/http'
import { AxiosKey } from '@/symbols'
const app = createApp(App)
app.provide(AxiosKey, http)


We're providing our Axios instance globally here, using InjectionKey - AxiosKey, so it's typed now. Otherwise you would have to provide types every time you use inject()



4. Create a function to deal with undefined values, when you use inject():


import { inject, InjectionKey } from 'vue'
export function injectStrict<T>(key: InjectionKey<T>, fallback?: T) {
const resolved = inject(key, fallback)
if (!resolved) {
throw new Error(`Could not resolve ${key.description}`)
}
return resolved
}


It was found in this useful blog post{:target="_blank"}



5. Using our global axios instance inside a component:


<script setup lang="ts">
import { ref, onMounted } from 'vue'
// typing inject
import { injectStrict } from '@/utils/injectTyped'
import { AxiosKey } from '@/symbols'
interface Breweries {
id: string
name: string
}
const http = injectStrict(AxiosKey) // it's typed now
const breweries = ref<Breweries[]>([])
onMounted(async () => {
const resp = await http.get<Breweries[]>('/breweries')
breweries.value = resp.data
})
</script>
Your first NEAR Smart contract with Vue.js frontend.

https://vlodkow.medium.com/your-first-near-smart-contract-with-vue-js-frontend-2e8f7ce3c036?source=rss------vuejs-5
What is NEAR?Continue reading on Medium »
Vue 3 composition API in a nutshell

https://florian-kromer.medium.com/vue-3-composition-api-in-a-nutshell-8144244942c1?source=rss------vuejs-5
The differences and advantages in comparison to the options API.Continue reading on Medium »
Integrate Vuetify Components from Everywhere

https://di-rk.medium.com/integrate-vuetify-components-from-everywhere-a882534f1f87?source=rss------vuejs-5
using VueJs 2.x & Vue CLI & VuetifyJs with WebpackContinue reading on Medium »
November Was All About Vue & Vue.JS in 2021

https://dev.to/meetupfeedio/november-was-all-about-vue-vuejs-in-2021-1go0
Are you looking for the most awesome Vue.js videos? Well, look no further, we deliver exactly what you need. Here are the best ones from November, and believe us, they are all worth checking out.
Continuous Delivery in VUE using GitLab Feature Flags | Kristian Muñoz

Jump into what continuous delivery and feature flags truly are. Let us guide you through different feature flag types, and the pros and cons of using them. All in all, learn how to reach continuous delivery in Vue, using Gitlab feature flags.
Create A Vue.js 3 Full Stack Application With Amplify, GraphQL, Auth and More | Erik Hanchett

Get ready for Erik Hanchett telling you all the details of how you can create a full stack application including AWS Amplify, Appsync, Lambda, Cognito for Authentication and Authorization and more!
Every New Vue Developer Has Made These Mistakes | Erik Hanchett

No one is perfect and there are mistakes that you can’t avoid at first, as a new developer. These certain mistakes are identified and explained by Erik Hanchett. How can you avoid these mistakes in the first place? He includes props, double brackets, how to use slots and the list goes on.