├── vue-http
├── public
│ ├── favicon.ico
│ └── index.html
├── babel.config.js
├── src
│ ├── assets
│ │ └── logo.png
│ ├── main.js
│ ├── mixins
│ │ └── counter.js
│ ├── components
│ │ ├── HoverCounter.vue
│ │ ├── ClickCounter.vue
│ │ ├── TemplateRef.vue
│ │ ├── Child.vue
│ │ ├── Parent.vue
│ │ ├── PostList.vue
│ │ └── CreatePost.vue
│ └── App.vue
├── .gitignore
├── README.md
└── package.json
├── hello-world
├── babel.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── assets
│ │ └── logo.png
│ ├── main.js
│ └── App.vue
├── .gitignore
├── README.md
└── package.json
├── vue-components
├── babel.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── assets
│ │ └── logo.png
│ ├── main.js
│ ├── components
│ │ ├── TabA.vue
│ │ ├── TabB.vue
│ │ ├── Portal.vue
│ │ ├── ChildStyles.vue
│ │ ├── Greet.vue
│ │ ├── ComponentF.vue
│ │ ├── TabC.vue
│ │ ├── ComponentC.vue
│ │ ├── ComponentE.vue
│ │ ├── Article.vue
│ │ ├── Popup.vue
│ │ ├── Input.vue
│ │ ├── NameList.vue
│ │ └── Card.vue
│ └── App.vue
├── .gitignore
├── README.md
└── package.json
├── vue-composition
├── babel.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── assets
│ │ └── logo.png
│ ├── main.js
│ ├── mixins
│ │ └── counter.js
│ ├── components
│ │ ├── ChildA.vue
│ │ ├── ChildB.vue
│ │ ├── DemoOne.vue
│ │ ├── TemplateRef.vue
│ │ ├── DemoTwo.vue
│ │ ├── HoverCounter.vue
│ │ ├── ClickCounter.vue
│ │ ├── LifecycleO.vue
│ │ ├── PersonGreeting.vue
│ │ ├── Person.vue
│ │ ├── LifecycleC.vue
│ │ ├── ChildC.vue
│ │ ├── VModel.vue
│ │ ├── Methods.vue
│ │ ├── ProvideInject.vue
│ │ ├── Data.vue
│ │ ├── Computed.vue
│ │ └── Watch.vue
│ ├── composables
│ │ └── useCounter.js
│ └── App.vue
├── .gitignore
├── README.md
└── package.json
└── vue-fundamentals
├── babel.config.js
├── public
├── favicon.ico
└── index.html
├── src
├── assets
│ └── logo.png
├── main.js
└── App.vue
├── .gitignore
├── README.md
└── package.json
/vue-http/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-http/public/favicon.ico
--------------------------------------------------------------------------------
/vue-http/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vue-http/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-http/src/assets/logo.png
--------------------------------------------------------------------------------
/hello-world/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/hello-world/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/hello-world/public/favicon.ico
--------------------------------------------------------------------------------
/hello-world/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/hello-world/src/assets/logo.png
--------------------------------------------------------------------------------
/vue-components/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vue-components/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-components/public/favicon.ico
--------------------------------------------------------------------------------
/vue-components/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-components/src/assets/logo.png
--------------------------------------------------------------------------------
/vue-composition/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vue-composition/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-composition/public/favicon.ico
--------------------------------------------------------------------------------
/vue-fundamentals/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/vue-http/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/hello-world/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/vue-components/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/vue-composition/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-composition/src/assets/logo.png
--------------------------------------------------------------------------------
/vue-composition/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/vue-fundamentals/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-fundamentals/public/favicon.ico
--------------------------------------------------------------------------------
/vue-fundamentals/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gopinav/Vue-3-Tutorials/HEAD/vue-fundamentals/src/assets/logo.png
--------------------------------------------------------------------------------
/vue-fundamentals/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/vue-components/src/components/TabA.vue:
--------------------------------------------------------------------------------
1 |
2 | Tab A Content
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/vue-components/src/components/TabB.vue:
--------------------------------------------------------------------------------
1 |
2 | Tab B Content
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/vue-components/src/components/Portal.vue:
--------------------------------------------------------------------------------
1 |
2 | Portal Component
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/vue-http/src/mixins/counter.js:
--------------------------------------------------------------------------------
1 | export default {
2 | data() {
3 | return {
4 | count: 0
5 | }
6 | },
7 | methods: {
8 | incrementCount() {
9 | this.count += 1
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/vue-composition/src/mixins/counter.js:
--------------------------------------------------------------------------------
1 | export default {
2 | data() {
3 | return {
4 | count: 0
5 | }
6 | },
7 | methods: {
8 | incrementCount() {
9 | this.count += 1
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/vue-components/src/components/ChildStyles.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/vue-components/src/components/Greet.vue:
--------------------------------------------------------------------------------
1 |
2 | Hello {{ name }} a.k.a {{ heroName }}
3 |
4 |
5 |
11 |
12 |
--------------------------------------------------------------------------------
/vue-components/src/components/ComponentF.vue:
--------------------------------------------------------------------------------
1 |
2 | Component F
3 | Component F username - {{ userName }}
4 |
5 |
6 |
12 |
13 |
--------------------------------------------------------------------------------
/vue-composition/src/components/ChildA.vue:
--------------------------------------------------------------------------------
1 |
2 | Child Component A
3 |
4 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/vue-composition/src/components/ChildB.vue:
--------------------------------------------------------------------------------
1 |
2 | Child Component B
3 |
4 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/vue-components/src/components/TabC.vue:
--------------------------------------------------------------------------------
1 |
2 | Tab C Content
3 |
4 |
5 |
6 |
16 |
17 |
--------------------------------------------------------------------------------
/vue-components/src/components/ComponentC.vue:
--------------------------------------------------------------------------------
1 |
2 | Component C
3 |
4 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/vue-components/src/components/ComponentE.vue:
--------------------------------------------------------------------------------
1 |
2 | Component E
3 |
4 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/vue-http/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/hello-world/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/vue-components/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/vue-composition/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/vue-composition/src/composables/useCounter.js:
--------------------------------------------------------------------------------
1 | import { ref } from 'vue'
2 |
3 | function useCounter(initialCount = 0, stepSize = 1) {
4 | const count = ref(initialCount)
5 | function incrementCount() {
6 | count.value += stepSize
7 | }
8 |
9 | return {
10 | count,
11 | incrementCount
12 | }
13 | }
14 |
15 | export default useCounter
16 |
--------------------------------------------------------------------------------
/vue-fundamentals/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/vue-http/src/components/HoverCounter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Hovered {{ count }} times
4 |
5 |
6 |
7 |
14 |
15 |
--------------------------------------------------------------------------------
/vue-http/README.md:
--------------------------------------------------------------------------------
1 | # vue-http
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/hello-world/README.md:
--------------------------------------------------------------------------------
1 | # hello-world
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/vue-composition/src/components/DemoOne.vue:
--------------------------------------------------------------------------------
1 |
2 | {{ name }}
3 |
4 |
5 |
21 |
22 |
--------------------------------------------------------------------------------
/hello-world/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 | Hello
3 | World
4 |
5 |
6 |
11 |
12 |
22 |
--------------------------------------------------------------------------------
/vue-components/README.md:
--------------------------------------------------------------------------------
1 | # vue-components
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/vue-http/src/components/ClickCounter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
--------------------------------------------------------------------------------
/vue-composition/README.md:
--------------------------------------------------------------------------------
1 | # vue-composition
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/vue-fundamentals/README.md:
--------------------------------------------------------------------------------
1 | # vue-fundamentals
2 |
3 | ## Project setup
4 | ```
5 | yarn install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | yarn serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | yarn build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | yarn lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/vue-http/src/components/TemplateRef.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
21 |
22 |
--------------------------------------------------------------------------------
/vue-composition/src/components/TemplateRef.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
27 |
28 |
--------------------------------------------------------------------------------
/vue-composition/src/components/DemoTwo.vue:
--------------------------------------------------------------------------------
1 |
2 | {{ firstName }} {{ lastName }}
3 |
4 |
5 |
24 |
25 |
--------------------------------------------------------------------------------
/vue-composition/src/components/HoverCounter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Hovered {{ count }} times
4 |
5 |
6 |
7 |
23 |
24 |
--------------------------------------------------------------------------------
/vue-composition/src/components/ClickCounter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
22 |
23 |
--------------------------------------------------------------------------------
/vue-components/src/components/Article.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ title }}
4 | Likes - {{ likes }}
5 | Published - {{ isPublished ? 'Yes' : 'No' }}
6 |
7 |
8 |
9 |
27 |
28 |
--------------------------------------------------------------------------------
/vue-components/src/components/Popup.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This is a popup
4 |
5 |
6 |
7 |
8 |
9 |
29 |
30 |
--------------------------------------------------------------------------------
/vue-components/src/components/Input.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
18 |
19 |
--------------------------------------------------------------------------------
/vue-http/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/hello-world/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/vue-composition/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/vue-fundamentals/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/vue-components/src/components/NameList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
30 |
31 |
--------------------------------------------------------------------------------
/vue-components/src/components/Card.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 | Default Content
8 |
9 |
12 |
13 |
14 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/vue-components/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/vue-http/src/components/Child.vue:
--------------------------------------------------------------------------------
1 |
2 | Child component
3 |
4 |
5 |
34 |
35 |
--------------------------------------------------------------------------------
/vue-composition/src/components/LifecycleO.vue:
--------------------------------------------------------------------------------
1 |
2 | Options API Lifecycle Hooks
3 |
4 |
5 |
34 |
35 |
--------------------------------------------------------------------------------
/vue-composition/src/components/PersonGreeting.vue:
--------------------------------------------------------------------------------
1 |
2 | Hello {{ fullName }}
3 |
4 |
5 |
6 |
33 |
34 |
--------------------------------------------------------------------------------
/vue-composition/src/components/Person.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
13 |
37 |
38 |
--------------------------------------------------------------------------------
/vue-composition/src/components/LifecycleC.vue:
--------------------------------------------------------------------------------
1 |
2 | Composition API Lifecycle Hooks
3 |
4 |
5 |
38 |
39 |
--------------------------------------------------------------------------------
/vue-composition/src/components/ChildC.vue:
--------------------------------------------------------------------------------
1 |
2 | Child Component C
3 | Child Component C username - {{ userName }}
4 | Child Component C composition username - {{ childUserName }}
5 | Child Component C count - {{ childCount }}
6 | Child Component C hero - {{ firstName }} {{ lastName }}
7 |
8 |
9 |
10 |
30 |
31 |
--------------------------------------------------------------------------------
/vue-composition/src/components/VModel.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
40 |
41 |
--------------------------------------------------------------------------------
/vue-http/src/components/Parent.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | Parent component
4 |
5 |
6 |
7 |
8 |
9 |
45 |
46 |
--------------------------------------------------------------------------------
/vue-http/src/components/PostList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
{{ post.id }}. {{ post.title }}
6 |
{{ post.body }}
7 |
8 |
9 |
{{ errorMsg }}
10 |
11 |
12 |
13 |
43 |
44 |
--------------------------------------------------------------------------------
/vue-http/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
35 |
36 |
46 |
--------------------------------------------------------------------------------
/hello-world/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hello-world",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.6.5",
12 | "vue": "^3.0.0"
13 | },
14 | "devDependencies": {
15 | "@vue/cli-plugin-babel": "~4.5.0",
16 | "@vue/cli-plugin-eslint": "~4.5.0",
17 | "@vue/cli-service": "~4.5.0",
18 | "@vue/compiler-sfc": "^3.0.0",
19 | "babel-eslint": "^10.1.0",
20 | "eslint": "^6.7.2",
21 | "eslint-plugin-vue": "^7.0.0-0"
22 | },
23 | "eslintConfig": {
24 | "root": true,
25 | "env": {
26 | "node": true
27 | },
28 | "extends": [
29 | "plugin:vue/vue3-essential",
30 | "eslint:recommended"
31 | ],
32 | "parserOptions": {
33 | "parser": "babel-eslint"
34 | },
35 | "rules": {}
36 | },
37 | "prettier": {
38 | "semi": false,
39 | "singleQuote": true
40 | },
41 | "browserslist": [
42 | "> 1%",
43 | "last 2 versions",
44 | "not dead"
45 | ]
46 | }
47 |
--------------------------------------------------------------------------------
/vue-components/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-components",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.6.5",
12 | "vue": "^3.0.0"
13 | },
14 | "devDependencies": {
15 | "@vue/cli-plugin-babel": "~4.5.0",
16 | "@vue/cli-plugin-eslint": "~4.5.0",
17 | "@vue/cli-service": "~4.5.0",
18 | "@vue/compiler-sfc": "^3.0.0",
19 | "babel-eslint": "^10.1.0",
20 | "eslint": "^6.7.2",
21 | "eslint-plugin-vue": "^7.0.0-0"
22 | },
23 | "eslintConfig": {
24 | "root": true,
25 | "env": {
26 | "node": true
27 | },
28 | "extends": [
29 | "plugin:vue/vue3-essential",
30 | "eslint:recommended"
31 | ],
32 | "parserOptions": {
33 | "parser": "babel-eslint"
34 | },
35 | "rules": {}
36 | },
37 | "prettier": {
38 | "semi": false,
39 | "singleQuote": true
40 | },
41 | "browserslist": [
42 | "> 1%",
43 | "last 2 versions",
44 | "not dead"
45 | ]
46 | }
47 |
--------------------------------------------------------------------------------
/vue-fundamentals/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-fundamentals",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.6.5",
12 | "vue": "^3.0.0"
13 | },
14 | "devDependencies": {
15 | "@vue/cli-plugin-babel": "~4.5.0",
16 | "@vue/cli-plugin-eslint": "~4.5.0",
17 | "@vue/cli-service": "~4.5.0",
18 | "@vue/compiler-sfc": "^3.0.0",
19 | "babel-eslint": "^10.1.0",
20 | "eslint": "^6.7.2",
21 | "eslint-plugin-vue": "^7.0.0-0"
22 | },
23 | "eslintConfig": {
24 | "root": true,
25 | "env": {
26 | "node": true
27 | },
28 | "extends": [
29 | "plugin:vue/vue3-essential",
30 | "eslint:recommended"
31 | ],
32 | "parserOptions": {
33 | "parser": "babel-eslint"
34 | },
35 | "rules": {}
36 | },
37 | "prettier": {
38 | "semi": false,
39 | "singleQuote": true
40 | },
41 | "browserslist": [
42 | "> 1%",
43 | "last 2 versions",
44 | "not dead"
45 | ]
46 | }
47 |
--------------------------------------------------------------------------------
/vue-http/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-http",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "axios": "^0.21.1",
12 | "core-js": "^3.6.5",
13 | "vue": "^3.0.0"
14 | },
15 | "devDependencies": {
16 | "@vue/cli-plugin-babel": "~4.5.0",
17 | "@vue/cli-plugin-eslint": "~4.5.0",
18 | "@vue/cli-service": "~4.5.0",
19 | "@vue/compiler-sfc": "^3.0.0",
20 | "babel-eslint": "^10.1.0",
21 | "eslint": "^6.7.2",
22 | "eslint-plugin-vue": "^7.0.0-0"
23 | },
24 | "eslintConfig": {
25 | "root": true,
26 | "env": {
27 | "node": true
28 | },
29 | "extends": [
30 | "plugin:vue/vue3-essential",
31 | "eslint:recommended"
32 | ],
33 | "parserOptions": {
34 | "parser": "babel-eslint"
35 | },
36 | "rules": {}
37 | },
38 | "prettier": {
39 | "semi": false,
40 | "singleQuote": true
41 | },
42 | "browserslist": [
43 | "> 1%",
44 | "last 2 versions",
45 | "not dead"
46 | ]
47 | }
48 |
--------------------------------------------------------------------------------
/vue-composition/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-composition",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.6.5",
12 | "lodash": "^4.17.20",
13 | "vue": "^3.0.0"
14 | },
15 | "devDependencies": {
16 | "@vue/cli-plugin-babel": "~4.5.0",
17 | "@vue/cli-plugin-eslint": "~4.5.0",
18 | "@vue/cli-service": "~4.5.0",
19 | "@vue/compiler-sfc": "^3.0.0",
20 | "babel-eslint": "^10.1.0",
21 | "eslint": "^6.7.2",
22 | "eslint-plugin-vue": "^7.0.0-0"
23 | },
24 | "eslintConfig": {
25 | "root": true,
26 | "env": {
27 | "node": true
28 | },
29 | "extends": [
30 | "plugin:vue/vue3-essential",
31 | "eslint:recommended"
32 | ],
33 | "parserOptions": {
34 | "parser": "babel-eslint"
35 | },
36 | "rules": {}
37 | },
38 | "prettier": {
39 | "semi": false,
40 | "singleQuote": true
41 | },
42 | "browserslist": [
43 | "> 1%",
44 | "last 2 versions",
45 | "not dead"
46 | ]
47 | }
48 |
--------------------------------------------------------------------------------
/vue-composition/src/components/Methods.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ name }}
4 |
5 |
6 |
7 | {{ count }}
8 |
9 |
10 |
11 | {{ first }} {{ last }}
12 |
13 |
14 |
15 |
53 |
54 |
--------------------------------------------------------------------------------
/vue-composition/src/components/ProvideInject.vue:
--------------------------------------------------------------------------------
1 |
2 | Parent component {{ name }}
3 | Parent component {{ count }}
4 | Parent component {{ firstName }} {{ lastName }}
5 |
6 |
7 |
8 |
9 |
48 |
49 |
--------------------------------------------------------------------------------
/vue-http/src/components/CreatePost.vue:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
48 |
49 |
--------------------------------------------------------------------------------
/vue-composition/src/components/Data.vue:
--------------------------------------------------------------------------------
1 |
2 | Options - {{ o_firstName }} {{ o_lastName }} a.k.a {{ o_heroName }}
3 | Composition - {{ c_firstName }} {{ c_lastName }} {{ c_heroName }}
4 | Composition - {{ greet }}
5 | Composition - {{ greetHero }}
6 |
7 | Composition - {{ state.firstName }} {{ state.lastName }}
8 | {{ state.heroName }}
9 |
10 | Composition - {{ reactiveGreetHero }}
11 |
12 |
13 |
51 |
52 |
--------------------------------------------------------------------------------
/vue-composition/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
54 |
55 |
65 |
--------------------------------------------------------------------------------
/vue-composition/src/components/Computed.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Options Fullname is {{ fullName }}
7 |
8 |
9 |
10 |
11 | ref Fullname is {{ refFullName }}
12 |
13 |
14 |
15 |
16 | reactive Fullname is {{ reactiveFullName }}
17 |
18 |
19 |
20 |
62 |
63 |
--------------------------------------------------------------------------------
/vue-composition/src/components/Watch.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
100 |
101 |
--------------------------------------------------------------------------------
/vue-components/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | App component {{ name }}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Card Content
22 |
23 |
24 |
25 | Header
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | {{ slotProps.firstName }} {{ slotProps.lastName }}
38 |
39 |
40 |
41 |
42 |
43 | {{ slotProps.lastName }}, {{ slotProps.firstName }}
44 |
45 |
46 |
47 | App component Text
48 |
49 | ChildStyles component Text
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
120 |
121 |
135 |
--------------------------------------------------------------------------------
/vue-fundamentals/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ greet }} {{ name }}
4 |
5 |
6 |
7 |
8 |
9 |
10 | Heading
11 |
12 |
13 |
14 | Underlined Text
15 | Status
16 | Static Dynamic
17 | Promoted Movie
18 | Soldout? Movie
19 | Newly Promoted Movie
20 |
21 | Array Conditional Movie
22 |
23 |
30 | Object Conditional Movie
31 |
32 |
33 |
34 |
41 | Inline Style
42 |
43 | Style Object
44 | Success Style
45 | Danger Style
46 |
47 |
48 | The number is zero
49 | The number is negative
50 | The number is positive
51 | Not a number
52 |
53 | Vishwas
54 | Codevolution
55 | Vue 3
56 |
57 | Using v-show
58 |
59 |
60 | {{ index }} {{ name }}
61 |
62 | {{ name.first }} {{ name.last }}
63 |
64 |
65 |
{{ actor.name }}
66 | {{ movie }}
67 |
68 |
69 | {{ index }} {{ key }} {{ value }}
70 |
71 |
72 | {{ name }}
73 |
74 |
75 |
76 | {{ name }}
77 |
78 |
79 |
80 | {{ 2 + 3 + 5 }}
81 | {{ 5 + 10 + 15 }}
82 | Add method - {{ add(2, 3, 5) }}
83 | Add method - {{ add(5, 10, 15) }}
84 | Multiply method - {{ multiply(10) }}
85 | Multiply method - {{ multiply(baseValue) }}
86 |
87 |
88 | {{ name }}
89 |
90 |
93 |
94 | {{ count }}
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 | {{ JSON.stringify(formValues, null, 2) }}
106 |
107 |
108 |
207 |
208 |
209 | {{ name }}
210 |
211 | {{ name }}
212 |
213 |
214 | Fullname - {{ firstName }} {{ lastName }}
215 | Fullname - {{ fullName }}
216 |
217 | Total - {{ items.reduce((total, curr) => (total = total + curr.price), 0) }}
218 |
219 | Computed Total - {{ total }}
220 | Method Total - {{ getTotal() }}
221 |
224 |
225 |
226 |
227 |
228 | {{ item.title }} - {{ item.price }}
229 |
230 |
231 | {{ item.title }} - {{ item.price }}
232 |
233 |
234 |
235 |
236 | Volume Tracker (0-20)
237 | Current Volume - {{ volume }}
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
248 |
249 |
250 |
432 |
433 |
481 |
--------------------------------------------------------------------------------