├── .gitignore ├── LICENSE ├── README.md ├── components-ex-2 ├── .babelrc ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── Server │ │ │ ├── Server.vue │ │ │ ├── ServerDetails.vue │ │ │ └── Servers.vue │ │ └── Shared │ │ │ ├── Footer.vue │ │ │ └── Header.vue │ └── main.js └── webpack.config.js ├── components-start ├── .babelrc ├── .gitignore ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── Footer.vue │ │ ├── Header.vue │ │ └── ServerList.vue │ └── main.js └── webpack.config.js ├── directive-exercise ├── .babelrc ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ └── main.js └── webpack.config.js ├── dynamic-components ├── .babelrc ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── Blue.vue │ │ ├── Green.vue │ │ └── Red.vue │ └── main.js └── webpack.config.js ├── filters-mixins-exercise ├── .babelrc ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── main.js │ └── textCounter.js └── webpack.config.js ├── forms-exercise ├── .babelrc ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── FullName.vue │ │ └── SignUp.vue │ └── main.js └── webpack.config.js ├── game-project ├── app.js ├── css │ ├── app.css │ └── foundation.min.css └── index.html ├── quotes-project ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── Footer.vue │ │ ├── ProgressBar.vue │ │ ├── Quote.vue │ │ ├── QuoteCreation.vue │ │ └── QuotesList.vue │ └── main.js └── webpack.config.js └── stock-trader ├── .babelrc ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src ├── App.vue ├── assets │ └── logo.png ├── components │ ├── features │ │ ├── portfolio │ │ │ ├── Funds.vue │ │ │ ├── Item.vue │ │ │ └── Portfolio.vue │ │ └── stocks │ │ │ ├── Item.vue │ │ │ └── List.vue │ └── layouts │ │ ├── Header.vue │ │ └── Home.vue ├── main.js ├── repositories │ └── stocks.js ├── routes.js └── store │ ├── actions.js │ ├── modules │ ├── portfolio.js │ └── stocks.js │ └── store.js └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | *.log 4 | *dist/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Fabrício Ferrari de Campos 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Learning Vue.js 2 | 3 | This repo is a collection of projects to practice and learn Vue.js. 4 | 5 | ## Project List 6 | 7 | The projects are explained briefly below. 8 | 9 | **For Udemy Course** [https://www.udemy.com/vuejs-2-the-complete-guide/](https://www.udemy.com/vuejs-2-the-complete-guide/) 10 | 11 | * `game-project`: a simple player vs monster game to practice the foundation of Vue.js; 12 | * `components-start`: refactoring a Vue.js app with components; 13 | * `components-ex-2`: communication though components using a new Vue instance; 14 | * `dynamic-components`: dynamically switching components using the `component`tag; 15 | * `quotes-project`: project to practice components and slots concepts; 16 | * `forms-exercise`: exercise to practice handling with `v-model` and creating a custom input; 17 | * `directive-exercise`: exercise to create a directive to handle with click event; 18 | * `filters-mixins-exercise`: filters and mixins practice; 19 | * `stock-trader`: stock trader final project. 20 | -------------------------------------------------------------------------------- /components-ex-2/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["es2015", { "modules": false }] 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /components-ex-2/README.md: -------------------------------------------------------------------------------- 1 | # vue-cli 2 | 3 | > A Vue.js project 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | npm install 10 | 11 | # serve with hot reload at localhost:8080 12 | npm run dev 13 | 14 | # build for production with minification 15 | npm run build 16 | ``` 17 | 18 | For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader). 19 | -------------------------------------------------------------------------------- /components-ex-2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Server Details are currently not updated
14 |9 | My directive 10 |
11 |Blue content
12 |Green content
13 |Red content
14 |{{text | reverseText}}
8 | 9 |{{text | textWithCounter}}
12 | 13 |{{reversedText}}
16 |{{countedText}}
17 | 18 |{{textWithCounterMixin}}
21 | 22 | 23 | 24 |Full Name: {{user.fullName}}
19 |Mail: {{user.email}}
20 |Password: {{user.password}}
21 |Store in Database?: {{user.stored}}
22 |You may Save & Load your Data
7 |Click on 'End Day' to begin a new Day!
8 |