Book Image

Hands-On Full Stack Web Development with Aurelia

By : Diego Argüelles Rojas, Erikson Murrugarra
Book Image

Hands-On Full Stack Web Development with Aurelia

By: Diego Argüelles Rojas, Erikson Murrugarra

Overview of this book

Hands-On Full Stack Web Development with Aurelia begins with a review of basic JavaScript concepts and the structure of an Aurelia application generated with the Aurelia-CLI tool. You will learn how to create interesting and intuitive application using the Aurelia-Materialize plugin, which implements the material design approach. Once you fully configure a FIFA World Cup 2018 app, you'll start creating the initial components through TDD practices and then develop backend services to process and store all the user data. This book lets you explore the NoSQL model and implement it using one of the most popular NoSQL databases, MongoDB, with some exciting libraries to make the experience effortless. You'll also be able to add some advanced behavior to your components, from managing the lifecycle properly to using dynamic binding, field validations, and the custom service layer. You will integrate your application with Google OAuth Service and learn best practices to secure your applications. Furthermore, you'll write UI Testing scripts to create high-quality Aurelia Apps and explore the most used tools to run end-to-end tests. In the concluding chapters, you'll be able to deploy your application to the Cloud and Docker containers. By the end of this book, you will have learned how to create rich applications using best practices and modern approaches.
Table of Contents (19 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Foreword
Contributors
Preface
Index

Managing a component's life cycle


As we said earlier, Aurelia provides very complete life cycle event methods to customize and improve the behavior of our application. Here's a list with these methods:

export class ComponentLifecycleExample {

retrievedData;

constructor(service) {
// Create and initialize your class object here...
this.service = service;
  }

created(owningView, myView) {
// Invoked once the component is created...
}

bind(bindingContext, overrideContext) {
// Invoked once the databinding is activated...
}

attached(argument) {
// Invoked once the component is attached to the DOM...
this.retrievedData = this.service.getData();
  }

detached(argument) {
// Invoked when component is detached from the dom
this.retrievedData = null;
  }

unbind(argument) {
// Invoked when component is unbound...
}

}

Let's explore each method presented in the script:

constructor(): This is the firstmethod that is called. It's used to set all view model dependencies and values required for its...