1. Урок 1.00:03:09
    Course Introduction
  2. Урок 2.00:04:46
    Let's Create our First VueJS Application
  3. Урок 3.00:04:13
    Extending the VueJS Application
  4. Урок 4.00:03:45
    Course Structure
  5. Урок 5.00:01:57
    Take Advantage of all Course Resources!
  6. Урок 6.00:02:04
    Setup VueJS Locally
  7. Урок 7.00:00:46
    Module Introduction
  8. Урок 8.00:02:36
    Understanding VueJS Templates
  9. Урок 9.00:02:43
    How the VueJS Template Syntax and Instance Work Together
  10. Урок 10.00:01:50
    Accessing Data in the Vue Instance
  11. Урок 11.00:02:44
    Binding to Attributes
  12. Урок 12.00:01:28
    Understanding and Using Directives
  13. Урок 13.00:01:42
    Disable Re-Rendering with v-once
  14. Урок 14.00:02:44
    How to Output Raw HTML
  15. Урок 15.00:01:51
    Listening to Events
  16. Урок 16.00:02:37
    Getting Event Data from the Event Object
  17. Урок 17.00:01:54
    Passing your own Arguments with Events
  18. Урок 18.00:03:24
    Modifying an Event - with Event Modifiers
  19. Урок 19.00:02:04
    Listening to Keyboard Events
  20. Урок 20.00:03:20
    Writing JavaScript Code in the Templates
  21. Урок 21.00:01:50
    Using Two-Way-Binding
  22. Урок 22.00:09:33
    Reacting to Changes with Computed Properties
  23. Урок 23.00:03:54
    An Alternative to Computed Properties: Watching for Changes
  24. Урок 24.00:01:27
    Saving Time with Shorthands
  25. Урок 25.00:04:23
    Dynamic Styling with CSS Classes - Basics
  26. Урок 26.00:01:36
    Dynamic Styling with CSS Classes - Using Objects
  27. Урок 27.00:03:28
    Dynamic Styling with CSS Classes - Using Names
  28. Урок 28.00:03:16
    Setting Styles Dynamically (without CSS Classes)
  29. Урок 29.00:01:15
    Styling Elements with the Array Syntax
  30. Урок 30.00:00:45
    Module Wrap Up
  31. Урок 31.00:00:50
    Module Introduction
  32. Урок 32.00:03:39
    Conditional Rendering with v-if
  33. Урок 33.00:01:37
    Using an Alternative v-if Syntax
  34. Урок 34.00:01:44
    Don't Detach it with v-show
  35. Урок 35.00:02:27
    Rendering Lists with v-for
  36. Урок 36.00:01:52
    Getting the Current Index
  37. Урок 37.00:01:11
    Using an Alternative v-for Syntax
  38. Урок 38.00:04:45
    Looping through Objects
  39. Урок 39.00:00:58
    Looping through a List of Numbers
  40. Урок 40.00:04:09
    Keeping Track of Elements when using v-for
  41. Урок 41.00:00:52
    Module Wrap Up
  42. Урок 42.00:02:55
    Introduction & Challenge
  43. Урок 43.00:02:38
    Setting up the Course Project
  44. Урок 44.00:05:17
    Creating the Vue Instance and Styling the Healthbars
  45. Урок 45.00:02:03
    Showing the Player Controls Conditionally
  46. Урок 46.00:01:54
    Implementing a "Start Game" Method
  47. Урок 47.00:08:04
    Implementing a "Attack" Method
  48. Урок 48.00:04:53
    Write better Code - Time for Refactoring!
  49. Урок 49.00:02:12
    Implementing a "Special Attack"
  50. Урок 50.00:02:22
    Implementing a "Heal" Method
  51. Урок 51.00:01:00
    Finishing the Action Buttons
  52. Урок 52.00:02:42
    Creating an Action Log
  53. Урок 53.00:02:21
    Printing the Log (v-for)
  54. Урок 54.00:01:58
    Finishing the Log
  55. Урок 55.00:01:45
    Styling the Log Conditionally
  56. Урок 56.00:01:29
    Wrap Up
  57. Урок 57.00:01:05
    Module Introduction
  58. Урок 58.00:02:59
    Some Basics about the VueJS Instance
  59. Урок 59.00:02:53
    Using Multiple Vue Instances
  60. Урок 60.00:03:30
    Accessing the Vue Instance from Outside
  61. Урок 61.00:04:02
    How VueJS manages your Data and Methods
  62. Урок 62.00:04:56
    A Closer Look at $el and $data
  63. Урок 63.00:05:49
    Placing $refs and Using them on your Templates
  64. Урок 64.00:00:59
    Where to learn more about the Vue API
  65. Урок 65.00:06:43
    Mounting a Template
  66. Урок 66.00:04:57
    Using Components
  67. Урок 67.00:02:36
    Limitations of some Templates
  68. Урок 68.00:03:26
    How VueJS Updates the DOM
  69. Урок 69.00:03:13
    The VueJS Instance Lifecycle
  70. Урок 70.00:05:40
    The VueJS Instance Lifecycle in Practice
  71. Урок 71.00:00:55
    Module Wrap Up
  72. Урок 72.00:01:34
    Module Introduction
  73. Урок 73.00:02:48
    Why do we need a Development Server?
  74. Урок 74.00:03:52
    What does "Development Workflow" mean?
  75. Урок 75.00:02:36
    Using the Vue CLI to create Projects
  76. Урок 76.00:04:19
    Installing the Vue CLI and Creating a new Project
  77. Урок 77.00:03:41
    An Overview over the Webpack Template Folder Structure
  78. Урок 78.00:06:47
    Understanding ".vue" Files
  79. Урок 79.00:01:12
    Understanding the Object in the Vue File
  80. Урок 80.00:00:50
    How to Build your App for Production
  81. Урок 81.00:01:12
    Module Wrap Up
  82. Урок 82.00:01:05
    Module Introduction
  83. Урок 83.00:04:57
    An Introduction to Components
  84. Урок 84.00:04:05
    Storing Data in Components with the Data Method
  85. Урок 85.00:02:51
    Registering Components Locally and Globally
  86. Урок 86.00:03:22
    The "Root Component" in the App.vue File
  87. Урок 87.00:04:25
    Creating a Component
  88. Урок 88.00:05:33
    Using Components
  89. Урок 89.00:02:44
    Moving to a Better Folder Structure
  90. Урок 90.00:04:32
    How to Name your Component Tags (Selectors)
  91. Урок 91.00:05:06
    Scoping Component Styles
  92. Урок 92.00:00:51
    Module Wrap Up
  93. Урок 93.00:00:47
    Module Introduction
  94. Урок 94.00:02:53
    Communication Problems
  95. Урок 95.00:03:11
    Using Props for Parent => Child Communication
  96. Урок 96.00:01:11
    Naming "props"
  97. Урок 97.00:01:29
    Using "props" in the Child Component
  98. Урок 98.00:04:58
    Validating "props"
  99. Урок 99.00:05:56
    Using Custom Events for Child => Parent Communication
  100. Урок 100.00:01:08
    Understanding Unidirectional Data Flow
  101. Урок 101.00:02:24
    Communicating with Callback Functions
  102. Урок 102.00:06:26
    Communication between Sibling Components
  103. Урок 103.00:05:33
    Using an Event Bus for Communication
  104. Урок 104.00:02:15
    Centralizing Code in an Event Bus
  105. Урок 105.00:00:42
    Wrap Up
  106. Урок 106.00:00:39
    Module Introduction
  107. Урок 107.00:03:01
    Setting up the Module Project
  108. Урок 108.00:02:20
    Passing Content - The Suboptimal Solution
  109. Урок 109.00:00:43
    Passing Content with Slots
  110. Урок 110.00:03:04
    How Slot Content gets Compiled and Styled
  111. Урок 111.00:02:51
    Using Multiple Slots (Named Slots)
  112. Урок 112.00:02:02
    Default Slots and Slot Defaults
  113. Урок 113.00:00:46
    A Summary on Slots
  114. Урок 114.00:05:32
    Switching Multiple Components with Dynamic Components
  115. Урок 115.00:02:08
    Understanding Dynamic Component Behavior
  116. Урок 116.00:00:59
    Keeping Dynamic Components Alive
  117. Урок 117.00:01:19
    Dynamic Component Lifecycle Hooks
  118. Урок 118.00:01:12
    Wrap Up
  119. Урок 119.00:01:37
    Module Introduction
  120. Урок 120.00:01:23
    Setting up the Project
  121. Урок 121.00:01:29
    Initializing the Application
  122. Урок 122.00:04:05
    Creating the Application Components
  123. Урок 123.00:02:14
    Passing Data with Props and Slots
  124. Урок 124.00:04:09
    Allowing Users to Create Quotes with a NewQuote Component
  125. Урок 125.00:03:35
    Adding Quotes with Custom Events
  126. Урок 126.00:01:07
    Adding a Info Box
  127. Урок 127.00:03:41
    Allowing for Quote Deletion
  128. Урок 128.00:03:53
    Controlling Quotes with a Progress Bar
  129. Урок 129.00:02:14
    Finishing Touches and State Management
  130. Урок 130.00:00:55
    Module Introduction
  131. Урок 131.00:03:47
    A Basic <input> Form Binding
  132. Урок 132.00:02:43
    Grouping Data and Pre-Populating Inputs
  133. Урок 133.00:02:59
    Modifying User Input with Input Modifiers
  134. Урок 134.00:02:54
    Binding <textarea> and Saving Line Breaks
  135. Урок 135.00:04:06
    Using Checkboxes and Saving Data in Arrays
  136. Урок 136.00:02:31
    Using Radio Buttons
  137. Урок 137.00:05:10
    Handling Dropdowns with <select> and <option>
  138. Урок 138.00:02:50
    What v-model does and How to Create a Custom Control
  139. Урок 139.00:05:14
    Creating a Custom Control (Input)
  140. Урок 140.00:02:09
    Submitting a Form
  141. Урок 141.00:00:44
    Wrap Up
  142. Урок 142.00:00:54
    Module Introduction
  143. Урок 143.00:03:35
    Understanding Directives
  144. Урок 144.00:02:29
    How Directives Work - Hook Functions
  145. Урок 145.00:01:23
    Creating a Simple Directive
  146. Урок 146.00:01:09
    Passing Values to Custom Directives
  147. Урок 147.00:02:41
    Passing Arguments to Custom Directives
  148. Урок 148.00:02:25
    Modifying a Custom Directive with Modifiers
  149. Урок 149.00:00:29
    Custom Directives - A Summary
  150. Урок 150.00:01:38
    Registering Directives Locally
  151. Урок 151.00:04:28
    Using Multiple Modifiers
  152. Урок 152.00:02:14
    Passing more Complex Values to Directives
  153. Урок 153.00:00:45
    Wrap Up
  154. Урок 154.00:00:46
    Module Introduction
  155. Урок 155.00:04:33
    Creating a Local Filter
  156. Урок 156.00:01:46
    Global Filters and How to Chain Multiple Filters
  157. Урок 157.00:05:16
    An (often-times better) Alternative to Filters: Computed Properties
  158. Урок 158.00:02:24
    Understanding Mixins
  159. Урок 159.00:02:26
    Creating and Using Mixins
  160. Урок 160.00:02:59
    How Mixins get Merged
  161. Урок 161.00:03:27
    Creating a Global Mixin (Special Case!)
  162. Урок 162.00:02:34
    Mixins and Scope
  163. Урок 163.00:01:57
    Wrap Up
  164. Урок 164.00:01:09
    Module Introduction
  165. Урок 165.00:01:02
    Understanding Transitions
  166. Урок 166.00:03:12
    Preparing Code to use Transitions
  167. Урок 167.00:03:10
    Setting Up a Transition
  168. Урок 168.00:02:28
    Assigning CSS Classes for Transitions
  169. Урок 169.00:03:22
    Creating a "Fade" Transition with the CSS Transition Property
  170. Урок 170.00:04:00
    Creating a "Slide" Transition with the CSS Animation Property
  171. Урок 171.00:03:32
    Mixing Transition and Animation Properties
  172. Урок 172.00:00:34
    Animating v-if and v-show
  173. Урок 173.00:01:31
    Setting Up an Initial (on-load) Animation
  174. Урок 174.00:04:02
    Using Different CSS Class Names
  175. Урок 175.00:02:34
    Using Dynamic Names and Attributes
  176. Урок 176.00:00:35
    Transitioning between Multiple Elements (Theory)
  177. Урок 177.00:04:43
    Transitioning between Multiple Elements (Practice)
  178. Урок 178.00:02:07
    Listening to Transition Event Hooks
  179. Урок 179.00:08:04
    Understanding JavaScript Animations
  180. Урок 180.00:01:29
    Excluding CSS from your Animation
  181. Урок 181.00:06:19
    Creating an Animation in JavaScript
  182. Урок 182.00:05:58
    Animating Dynamic Components
  183. Урок 183.00:00:45
    Animating Lists with <transition-group>
  184. Урок 184.00:04:21
    Using <transition-group> - Preparations
  185. Урок 185.00:06:13
    Using <transition-group> to Animate a List
  186. Урок 186.00:01:16
    Understanding the App
  187. Урок 187.00:12:05
    Creating the App
  188. Урок 188.00:06:39
    Adding Animations
  189. Урок 189.00:01:04
    Wrap Up
  190. Урок 190.00:01:43
    Module Introduction
  191. Урок 191.00:04:01
    Accessing Http via vue-resource - Setup
  192. Урок 192.00:05:25
    Creating an Application and Setting Up a Server (Firebase)
  193. Урок 193.00:06:11
    POSTing Data to a Server (Sending a POST Request)
  194. Урок 194.00:06:55
    GETting and Transforming Data (Sending a GET Request)
  195. Урок 195.00:02:49
    Configuring vue-resource Globally
  196. Урок 196.00:03:35
    Intercepting Requests
  197. Урок 197.00:02:52
    Intercepting Responses
  198. Урок 198.00:04:43
    Where the "resource" in vue-resource Comes From
  199. Урок 199.00:02:40
    Creating Custom Resources
  200. Урок 200.00:00:29
    Resources vs "Normal" Http Requests
  201. Урок 201.00:05:07
    Understanding Template URLs
  202. Урок 202.00:01:43
    Wrap Up
  203. Урок 203.00:01:39
    Module Introduction
  204. Урок 204.00:02:17
    Setting up the VueJS Router (vue-router)
  205. Урок 205.00:06:44
    Setting Up and Loading Routes
  206. Урок 206.00:04:15
    Understanding Routing Modes (Hash vs History)
  207. Урок 207.00:03:46
    Navigating with Router Links
  208. Урок 208.00:03:21
    Where am I? - Styling Active Links
  209. Урок 209.00:02:43
    Navigating from Code (Imperative Navigation)
  210. Урок 210.00:02:00
    Setting Up Route Parameters
  211. Урок 211.00:02:04
    Fetching and Using Route Parameters
  212. Урок 212.00:03:05
    Reacting to Changes in Route Parameters
  213. Урок 213.00:04:40
    Setting Up Child Routes (Nested Routes)
  214. Урок 214.00:03:10
    Navigating to Nested Routes
  215. Урок 215.00:02:05
    Making Router Links more Dynamic
  216. Урок 216.00:03:22
    A Better Way of Creating Links - With Named Routes
  217. Урок 217.00:02:55
    Using Query Parameters
  218. Урок 218.00:03:28
    Multiple Router Views (Named Router Views)
  219. Урок 219.00:02:14
    Redirecting
  220. Урок 220.00:01:07
    Setting Up "Catch All" Routes / Wildcards
  221. Урок 221.00:02:35
    Animating Route Transitions
  222. Урок 222.00:03:29
    Passing the Hash Fragment
  223. Урок 223.00:03:22
    Controlling the Scroll Behavior
  224. Урок 224.00:01:14
    Protecting Routes with Guards
  225. Урок 225.00:07:52
    Using the "beforeEnter" Guard
  226. Урок 226.00:03:32
    Using the "beforeLeave" Guard
  227. Урок 227.00:07:09
    Loading Routes Lazily
  228. Урок 228.00:01:03
    Wrap Up
  229. Урок 229.00:01:13
    Module Introduction
  230. Урок 230.00:02:26
    Why a Different State Management May Be Needed
  231. Урок 231.00:01:33
    Understanding "Centralized State"
  232. Урок 232.00:06:50
    Using the Centralized State
  233. Урок 233.00:02:42
    Why a Centralized State Alone Won't Fix It
  234. Урок 234.00:00:49
    Understanding Getters
  235. Урок 235.00:02:41
    Using Getters
  236. Урок 236.00:06:58
    Mapping Getters to Properties
  237. Урок 237.00:01:15
    Understanding Mutations
  238. Урок 238.00:04:52
    Using Mutations
  239. Урок 239.00:01:35
    Why Mutations have to run Synchronously
  240. Урок 240.00:01:33
    How Actions improve Mutations
  241. Урок 241.00:05:00
    Using Actions
  242. Урок 242.00:04:59
    Mapping Actions to Methods
  243. Урок 243.00:04:15
    A Summary of Vuex
  244. Урок 244.00:05:57
    Two-Way-Binding (v-model) and Vuex
  245. Урок 245.00:01:02
    Improving Folder Structures
  246. Урок 246.00:04:57
    Modularizing the State Management
  247. Урок 247.00:04:19
    Using Separate Files
  248. Урок 248.00:06:45
    Using Namespaces to Avoid Naming Problems
  249. Урок 249.00:00:51
    Wrap Up
  250. Урок 250.00:03:12
    Project Introduction
  251. Урок 251.00:02:46
    Project Setup and Planning
  252. Урок 252.00:02:56
    Creating the First Components
  253. Урок 253.00:04:43
    Setup Project Routes
  254. Урок 254.00:06:45
    Adding a Header and Navigation
  255. Урок 255.00:01:23
    Planning the Next Steps
  256. Урок 256.00:06:32
    Creating Stocks Components
  257. Урок 257.00:05:58
    Adding a "Buy" Button
  258. Урок 258.00:10:22
    Setting up the Vuex State Management
  259. Урок 259.00:10:03
    Adding a Portfolio Module to Vuex
  260. Урок 260.00:06:52
    Working on the Portfolio Stocks
  261. Урок 261.00:02:22
    Connecting the Portfolio with Vuex
  262. Урок 262.00:02:01
    Time to fix some Errors
  263. Урок 263.00:03:42
    Displaying the Funds
  264. Урок 264.00:05:42
    Adding some Order Checks
  265. Урок 265.00:01:49
    Making Funds Look Nicer with Filters
  266. Урок 266.00:05:31
    Ending the Day - Randomizing Stocks
  267. Урок 267.00:03:15
    Animating the Route Transitions
  268. Урок 268.00:02:18
    Saving & Fetching Data - Adding a Dropdown
  269. Урок 269.00:02:17
    Setting up vue-resource and Firebase
  270. Урок 270.00:02:52
    Saving Data (PUT Request)
  271. Урок 271.00:05:05
    Fetching Data (GET Request)
  272. Урок 272.00:02:51
    Testing and Bug Fixes
  273. Урок 273.00:01:23
    Project Wrap Up
  274. Урок 274.00:02:00
    Bonus: Debugging Vuex with Vue Developer Tools
  275. Урок 275.00:01:13
    Module Introduction
  276. Урок 276.00:01:46
    Preparing for Deployment
  277. Урок 277.00:05:58
    Deploying the App (Example: AWS S3)
  278. Урок 278.00:00:59
    Course Roundup
  279. Урок 279.00:02:00
    Time to Practice (1) - Outputting Data to Templates (Problem)
  280. Урок 280.00:06:13
    Time to Practice (1) - Outputting Data to Templates (Solution)
  281. Урок 281.00:01:43
    Time to Practice (2) - Events (Problem)
  282. Урок 282.00:04:55
    Time to Practice (2) - Events (Solution)
  283. Урок 283.00:02:30
    Time to Practice (3) - Reactive Properties (Problem)
  284. Урок 284.00:05:48
    Time to Practice (3) - Reactive Properties (Solution)
  285. Урок 285.00:03:50
    Time to Practice (4) - Styling (Problem)
  286. Урок 286.00:18:18
    Time to Practice (4) - Styling (Solution)
  287. Урок 287.00:01:41
    Time to Practice (5) - Conditionals and Lists (Problem)
  288. Урок 288.00:09:39
    Time to Practice (5) - Conditionals and Lists (Solution)
  289. Урок 289.00:01:46
    Time to Practice (6) - Components (Problem)
  290. Урок 290.00:02:13
    Time to Practice (6) - Components (Solution)
  291. Урок 291.00:03:07
    Time to Practice (7) - Component Communication (Problem)
  292. Урок 292.00:10:18
    Time to Practice (7) - Component Communication (Solution)
  293. Урок 293.00:01:28
    Time to Practice (8) - Slots and Dynamic Components (Problem)
  294. Урок 294.00:03:01
    Time to Practice (8) - Slots and Dynamic Components (Solution)
  295. Урок 295.00:01:31
    Time to Practice (9) - Forms (Problem)
  296. Урок 296.00:15:18
    Time to Practice (9) - Forms (Solution)
  297. Урок 297.00:00:55
    Time to Practice (10) - Directives (Problem)
  298. Урок 298.00:05:56
    Time to Practice (10) - Directives (Solution)
  299. Урок 299.00:01:09
    Time to Practice (11) - Filters and Mixins (Problem)
  300. Урок 300.00:08:13
    Time to Practice (11) - Filters and Mixins (Solution)
  301. Урок 301.00:00:38
    About this Section
  302. Урок 302.00:01:08
    Module Introduction
  303. Урок 303.00:02:47
    Project Setup
  304. Урок 304.00:02:13
    Axios Setup
  305. Урок 305.00:05:40
    Sending a POST Request
  306. Урок 306.00:02:53
    Sending a GET Request
  307. Урок 307.00:05:49
    Accessing & Using Response Data
  308. Урок 308.00:05:44
    Setting a Global Request Configuration
  309. Урок 309.00:05:50
    Using Interceptors
  310. Урок 310.00:04:58
    Custom Axios Instances
  311. Урок 311.00:00:59
    Wrap Up
  312. Урок 312.00:00:53
    About this Section
  313. Урок 313.00:02:00
    Module Introduction
  314. Урок 314.00:03:11
    How Authentication Works in SPAs
  315. Урок 315.00:02:37
    Project Setup
  316. Урок 316.00:05:15
    Adding User Signup
  317. Урок 317.00:02:42
    Adding User Signin (Login)
  318. Урок 318.00:04:27
    Using Vuex to send Auth Requests
  319. Урок 319.00:03:46
    Storing Auth Data in Vuex
  320. Урок 320.00:08:42
    Accessing other Resources from Vuex
  321. Урок 321.00:05:39
    Sending the Token to the Backend
  322. Урок 322.00:02:49
    Protecting Routes (Auth Guard)
  323. Урок 323.00:03:02
    Updating the UI State (based on Authentication State)
  324. Урок 324.00:05:02
    Adding User Logout
  325. Урок 325.00:05:37
    Adding Auto Logout
  326. Урок 326.00:10:37
    Adding Auto Login
  327. Урок 327.00:01:02
    Wrap Up
  328. Урок 328.00:00:58
    About this Section
  329. Урок 329.00:01:06
    Module Introduction
  330. Урок 330.00:02:05
    Installing Vuelidate
  331. Урок 331.00:10:15
    Adding a Validator
  332. Урок 332.00:04:56
    Adding Validation UI Feedback
  333. Урок 333.00:02:11
    Controlling Styles for Invalid Entries
  334. Урок 334.00:06:34
    More Validators
  335. Урок 335.00:06:17
    Validating Passwords For Equality
  336. Урок 336.00:04:53
    Using the Required-Unless Validator
  337. Урок 337.00:07:20
    Validating Arrays
  338. Урок 338.00:02:13
    Controlling the Form Submit Button
  339. Урок 339.00:02:47
    Creating Custom Validators
  340. Урок 340.00:09:17
    Async Validators
  341. Урок 341.00:01:06
    Wrap Up
  342. Урок 342.00:03:19
    Module Introduction
  343. Урок 343.00:04:42
    Creating a Project
  344. Урок 344.00:04:50
    Analyzing the Created Project
  345. Урок 345.00:04:06
    Using Plugins
  346. Урок 346.00:03:15
    CSS Pre-Processors
  347. Урок 347.00:07:29
    Environment Variables
  348. Урок 348.00:03:44
    Building the Project
  349. Урок 349.00:02:40
    Instant Prototyping
  350. Урок 350.00:08:40
    Different Build Targets
  351. Урок 351.00:01:20
    Using the "Old" CLI Templates (vue init)
  352. Урок 352.00:05:06
    Using the Graphical User Interface (GUI)