top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Small Discussion About Guard in Angular?

0 votes
360 views

What is Guard?
Guards make sure that the application user with the access permission can access that particular area in the application.
It is mainly used to protect routes.

Guard Types:

  • CanActivate - this guard helps decide whether a route can be activated or not.
  • CanActivateChild - this guard helps to decide whether children routes of a route can be activated or not.
  • CanDeactivate - this guard helps decide whether a route can be deactivated or not.
  • CanLoad - this guard helps decide whether a module can be loaded lazily or not

Guards can be implemented in different ways, but after all it really boils down to a function that returns either Observable<boolean>, Promise<boolean> or boolean. In addition, guards are registered using providers, so they can be injected by Angular when needed.

To register a guard we need to define a token and the guard function. Here’s what a super simple guard implementation could look like:


@NgModule({
  ...
  providers: [
    provide: 'CanAlwaysActivateGuard',
    useValue: () => {
      return true;
    }
  ],
  ...
})
export class AppModule {}

Video for Guard

 

posted Oct 16, 2017 by Manish Tiwari

  Promote This Article
Facebook Share Button Twitter Share Button LinkedIn Share Button


Related Articles

What are Angular Directives?

      Directives are a way to teach HTML new tricks. During DOM compilation directives are matched against the HTML and executed. This allows directives to register behavior, or transform the DOM.

Directives Types

  1. Components
  2. Structural Directives
  3. Attribute Directives
1. Components

Component decorator allows you to mark a class as an Angular component and provide additional metadata that determines how the component should be processed, instantiated and used at runtime.

Components are the most basic building block of an UI in an Angular application. An Angular application is a tree of Angular components. Angular components are a subset of directives. Unlike directives, components always have a template and only one component can be instantiated per an element in a template.

 @Component({
  selector: 'myApp',
  template: `<h1>Query Home</h1>`
})
class homePage{
}

 
2. Structural Directives

Structural directives are responsible for HTML layout. They shape or reshape the DOM's structure, typically by adding, removing, or manipulating elements.

As with other directives, you apply a structural directive to a host element. The directive then does whatever it's supposed to do with that host element and its descendants.

Example

<div *ngIf="isPageEnable" class="app-name">Query Home</div>​

3.Attribute Directives

Attributes directives are responsible for change the appearance or behavior of an element, component, or another directive.

Example

<p appHighlight>Highlight me!</p>​

Video for Directives
https://www.youtube.com/watch?v=PiJkT3VNTS8​
 
READ MORE

What is Polymer.Js?

Polymer.js is a JavaScript library created by Google that allows reusing the HTML elements for building applications with components. Polymer is an open-source JavaScript library developed by Google developers

Polymer provides a number of features over vanilla Web Components:

  • Simplified way of creating custom elements
  • Both One-way and Two-way data binding
  • Computed properties
  • Conditional and repeat templates
  • Gesture events

Polymer.js places a hefty set of requirements on the browser, relying on a number of technologies that are in still in the process of standardization (by W3C) and are not yet present in today’s browsers. 

Examples include the shadow dom, template elements, custom elements, HTML imports, mutation observers, model-driven views, pointer events, and web animations. These are marvelous technologies, but at least as of now, that are yet-to-come to modern browsers.

The Polymer strategy is to have front-end developers leverage these leading-edge, still-to-come, browser-based technologies, which are currently in the process of standardization (by W3C), as they become available. 

The recommended polyfills are designed in such a way that (at least theoretically) will be seamless to replace once the native browser versions of these capabilities become available.

Video for Polymer.Js
https://www.youtube.com/watch?v=tvafAyxkuVk

READ MORE

What is Axios?

Axios is a promise-based HTTP client that works both in the browser and in a node.js environment. It basically provides a single API for dealing with XMLHttpRequest s and node's http interface. Besides that, it wraps the requests using a polyfill for ES6 new's promise syntax

Node Command

npm install axios

Bower Command

bower install axios

Features

  • Make XMLHttpRequests from the browser
  • Make http requests from node.js
  • Supports the Promise API
  • Intercept request and response
  • Transform request and response data
  • Cancel requests
  • Automatic transforms for JSON data
  • Client-side support for protecting against XSRF

The user interface is split up into three sections:

  • GET Request
  • GET Request with Parameters
  • POST Request

With each of these three sections the user is able to try out a specific use case for Axios.

Video for Axios

https://www.youtube.com/watch?v=1vbpBDWu1AQ

READ MORE

What is Supersonic ?

Supersonic is a robust user interface framework (UI) for developing hybrid mobile applications. The framework integrates with any REST API (Application Programming Interface) and allows data interaction/modification in the backend. With Supersonic, one can design API-connected mobile applications for iOS and Android.

Supersonic is a framework with an elegant balance of simplicity and power. By using the best of what AngularJS, web components and HTML5 have to offer, Supersonic has crafted a level of sophistication that is years ahead of the competition.

Supersonic UI is a game-changer. It's an Ionic fork that changes the way you think about hybrid app performance. Supersonic's declarative UI style makes building complex mobile apps a breeze. In the background, the seamless interplay of native UI and HTML5 bakes an end-result that is 100% indistinguishable from any native app. 

Supersonic bridges the gap by using native UI elements when HTML and CSS just don't cut it. No more position: fixed; header bars, slow tabs or choppy animations. Page transitions, modals, navigation bars, tab bars, drawers – and a whole lot more – are fully native. That means unparalleled performance and no App Store rejections.

Video for SuperSonic

https://www.youtube.com/watch?v=7uppxfhxl48

READ MORE

What is Mojito?

Mojito is an environment agnostic, MVC web application framework architected by Ric Allinson which supports agile development of web applications. ... Mojito is capable of running on both client(browser) and the server(Node.js) because both client and server side components are written in single language

Mojito provides seamless MVC framework to manage code base on server as well as on client side. The advantages of using Mojito are:

Single Language: Mojito is entirely built on JavaScript and hence the application code can run on server as well as can be deployed to client. This will remove the need for client to fetch data from the server.
Run-time Environment: Mojito has inbuilt capability to determine whether client can run JavaScript before deploying the code. If the client cannot execute JavaScript (JavaScript might be disabled at client side), then Mojito will execute the application code on the server.
Internationalization: Mojito has inbuilt library to handle Internationalization and localization.

Mojito has two unique features to empower you on this area.

Runtime context : which is a predefined set of dimensions/variables with a finite number of possibilities/values that will define the state of the execution at any given time.
Environment agnostic : the unique ability to run the same code in different runtimes. E.g.: browser, server, iOS UIWebView or any other phoneGap similar runtime.

Video for Mojito

https://www.youtube.com/watch?v=8fcXtX7EglU​

READ MORE

What is ArangoDB?

ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high-performance applications using a convenient SQL-like query language or JavaScript extensions.

Multi-Model: Documents, graphs and key-value pairs — model your data as you see fit for your application.
Joins: Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy.
Transactions: Easy application development keeping your data consistent and safe. No hassle in your client.

ArangoDB is to use the arangoimp command-line tool. arangoimp allows you to import data records from a file into an existing database collection.

ArangoDB provides scalable, highly efficient queries when working with graph data.The database uses JSON as a default storage format, but internally it uses ArangoDB's VelocyPack - a fast and compact binary format for serialization and storage.ArangoDB can natively store a nested JSON object as a data entry inside a collection. Therefore, there is no need to disassemble the resulting JSON objects. 

Video for ArangoDB?

https://www.youtube.com/watch?v=on1l2pEEWnw

READ MORE

What is KeyStone.Js?
KeystoneJS is a powerful Node.js content management system and web app framework built on express and mongoose. Keystone makes it easy to create sophisticated web sites and apps, and comes with a beautiful auto-generated Admin UI.

KeystoneJS is the easiest way to build database-driven websites, applications and APIs in Node.js.

Features:

  • Express.js and MongoDB
  • Dynamic Routes
  • Database Fields
  • Auto-generated Admin UI
  • Simpler Code
  • Form Processing
  • Session Management
  • Email Sending

Keystone uses Mongoose, the leading ODM for node.js and MongoDB, and gives you a single place for your schema, validation rules and logic.

Keystone can configure Express for you, or you can take over and treat Keystone like any other Express middleware.

You can also easily integrate it into an existing Express app.

NPM Command
npm install -g generator-keystone

YO Generator
$ yo keystone

 

Video for KeyStone.JS

https://www.youtube.com/watch?v=DPXDFeUEk3g

READ MORE
...