Skip to main content

Angular Introduction

Start Angular Application: There are two types of angular , Angular Js & Angular CLI,
We are going to dive in to the Angular CLI:

Welcome to Angular! Angular helps you build modern applications for the web, mobile, or desktop.

Before you begin, make sure your development environment includes Node.js® and an npm package manager.

1 - Node.js : Angular requires Node.js version 8.x or 10.x.
            To check your node js version use node -v
2 -  npm package managerAngular, the Angular CLI, and Angular apps depend on features and functionality provided by libraries that are available as npm packages

Install The latest Version of the Node as well as npm:

sudo apt-get install curl python-software-properties
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -

sudo apt-get install nodejs

Step 1: Install the Angular CLI: Install the Angular CLI globally.
npm install -g @angular/cli
Step 2: Create a workspace and initial application:
ng new my-app
Step 3 : Serve the Application :
cd my-app ng serve --open
The --open (or just -o) option automatically opens your browser to http://localhost:4200/.

Run the Commans with sudo to avoid the permission issue.


  1. Angular has moduler approach, Every angular Application must have atleast one module, and modules have the own components , services, css etc, one frontend page must have atleast one component, it may have multiple components like headers,navigationos,footers etc,
  2. Each component must have the html and a class which have all the login inside here, It has all the view page logic ,to display with in the view.
  3. Modules also have the services class, which have the business logic like models in MVC,
  4. Package.json : It has whole application dependency, and the commands to start the Application, 
  5. src/main.ts : It has the entry point of the application like, index.php
  6. How It works: When we hit the ng serve command it comes to the main.ts file and load the modules which is listed here..
---------------------------------------- app.module.ts -------------------------------------------------------
@NgModule({
  declarations: [
    AppComponent,
    TestComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    FrontModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

/**
* NgModule Declarion :
* declaration : Here we declare the only components|pipe|directives, belongs to compiler
* imports : Here we declare the only modules
* providers : declare service here, belongs to injector
* bootstrap : define booting process i.e which would be the call first
*/
NOTE: If we declare a component in one ts file then we can't declare it
any othe ts file it will through the error,

---------------------------------------- end app.module.ts --------------------------------------------------
Commands:
ng generate module front
ng generate component front/latest_news
ng generate class front/topmenu/topmenu

ng generate service topmenu

When we create module and add it in imports array within the app.module.ts, Now you can create as many components as you want and you have to declare it only on our own modules declarations array,

If you would like to include the modules component in main app.component.html , then you have to export the component in  our module file in our case, like we want to include the latest-news & top menus component in front.module.ts

front.module.ts:

@NgModule({
declarations: [LatestNewsComponent, TopmenuComponent],
imports: [CommonModule,HttpClientModule],
exports:[LatestNewsComponent,TopmenuComponent],
})
app.component.html:

<h2><app-topmenu></app-topmenu></h2>
<h2><app-latest-news></app-latest-news></h2>

Comments

Popular posts from this blog

Drupal 8 : Link actions,Link menus,Link Tasks,Routings

Drupal 8 : Link actions,Link menus,Link Tasks,Routings Link actions Local actions have also been moved out of the hook_menu() system in Drupal 8 .Use actions to define local operations such as adding new items to an administrative list (menus, contact categories, etc). Local actions are defined in a YAML format, named after the module they are defined by. Such as menu_ui.links.action.yml for this example from menu_ui module: menu_ui.link_add:   route_name: menu_ui.link_add   title: 'Add link'   appears_on:     - menu_ui.menu_edit Here, menu_ui.link_add: It is the Unique name of the link action Most likely start with module name, route_name : Name of the route it means when click the link it redirect to this route, appears_on :  An array of route names for this action to be display on. Now how to know the Route name of any internal/external admin pages like below, By through the drupal console we achieve it, drupal debug:router...

Mysql Interview Questions

Current mysql version : 8 ( last was 5.7 ,  5.7 to directly 8 ) SHOW FULL PROCESSLIST is used to see all the query executing when refresh the site. 1 second == 1000 mili second, 0-500 ms responce time of any query is ok How to Read the MySQL Slow Query Log :   The MySQL slow query log is where the MySQL database server registers all queries that exceed a given threshold of execution time. This can often be a good starting place to see which queries are slowest and how often they are slow. MySQL on your server is configured to log all queries taking longer than 0.1 seconds. /var/log/mysql/mysql-slow.log Use EXPLAIN or EXPLAIN EXTENDED to explain the query how it is executed. MySQL  describe  or  ANALYZE  command shows the structure of the table. Best practice in respect of performance : 1 - always use index, 2 - index types , primary index and combined field index like fname & lname in one index not two index, 3 - one index sc...

Get The field values of node in Drupal 8

use Drupal \ node \ NodeInterface ; /** * Implements hook_ENTITY_TYPE_insert() for node entities. * * This tests saving a node on node insert. * * @see \Drupal\node\Tests\NodeSaveTest::testNodeSaveOnInsert() */ function node_test_node_insert ( NodeInterface $node ) { // Set the node title to the node ID and save. if ( $node - > getTitle ( ) == 'new' ) { $node - > setTitle ( 'Node ' . $node - > id ( ) ) ; $node - > setNewRevision ( FALSE ) ; $node - > save ( ) ; } } Now There is so many functions are there to get the values, For All the functions available visit the API code, https://api.drupal.org/api/drupal/core%21modules%21node%21src%21NodeInterface.php/interface/NodeInterface/8.2.x Some of as below, Node edit form, Drupal 8 Automatically Load the whole object no need to load the entity like below, if ($event->getFormId() == 'node_alexa_audio_clips_edit_form') { $node = \Drupal::ro...