Markus Oberlehner

Blog Page 21

Vue.js Form Validation with Vuelidate

In today's article, we build a simple contact form with inline validation powered by Vuelidate. One of the best features of Vuelidate is its relatively small footprint...

Combining GraphQL and Vuex

In today's article, we're going to take a look at how we can combine GraphQL and Vuex to manage the state of a Vue application. But first of all let me say that the way we're going to integrate the Apollo GraphQL client into our Vue application is not the “official” way of how to integrate GraphQL into a Vue powered application...

Two-Way Data Binding with v-model and Vuex

One of the most valuable features that Vue.js has to offer, is painless two-way data binding. By using the `v-model` directive, you can quickly set up two-way data binding on form elements...

Building a Modal Dialog with Vue.js and Vuex

Today we're building a modal dialog in Vue using Vuex. In my last article about exploratory TDD I wrote about the lack of tutorials demonstrating TDD in more complex, real world scenarios, so I decided to guide you through the whole process of building a modal dialog using the TDD methodology...

Exploratory TDD

I'm currently working hard on making TDD my default way of writing code. Although I have noticed that the more I practice TDD, the easier it becomes, I still often fall back on writing dozens of lines of code without running tests that cover them...

Testing Vuex Powered Vue.js Components with Jest

Thanks to the vue-test-utils, testing Vue components has become much more comfortable. But things can get a little more complicated if you add Vuex to the equation...

Git, the pedantic way

When people think of programmers, they think of pale nerds sitting in front of their computers writing code all day long. As we all know, this couldn't be further from the truth. In reality, we're pale nerds, who spend most of our time sitting in front of our computers reading (and trying to make sense of code), written by other people (or our past selves)...

Speeding up Nightwatch.js Powered Acceptance Tests

Today we will examine two ways how we can speed up the testing process with Nightwatch.js – because faster is always better. The first small speed improvement can be achieved by eliminating Selenium from the setup...

Intelligent Design vs. Evolution

In the last few days I have been confronted with the results of planning mistakes in several (personal and professional) projects on which I work. It's an unpleasant feeling to have to refactor large parts of the architecture of a project because you've come to realize that what initially looked like a good idea doesn't work the way you imagined it would...

Two-Tier Sass Variables / CSS Custom Properties

One of the hardest challenges when working with CSS (or Sass) at scale, is to keep everything consistent and maintainable. Sass variables or CSS custom properties can be a handy tool to help with consistency and flexibility. Variables can make your life as a developer a lot easier. But there are many considerations you have to keep in mind when defining variables for your CSS framework...