Skip to main content

Binding 101 in Angular

Template = UI HTML   
Component = TS Script

Access HTML element (DOM object) in typescript (Same component)
HTML Element -> Component typescript (One Way)
1. HTML Bind -> Declare variable element using '#'
2. Typescript Bind -> Declare @ViewChild(< Variable in html>) <variable in TS>: ElementRef;

----------------------------------------------------------------------------------------------
Access Typescript variable in HTML (Same component)
typescript -> HTML Element (One Way)
1. HTML Bind -> using interpolation {{variable in TS}} (display purpose)
Direct use the varible name to get the value
2. Typescript Bind -> Declare variable

----------------------------------------------------------------------------------------------
Access HTML input value in typescript and vice verca (Same Component)
Component typescript <-> HTML Input (Two Way)
1. HTML Bind -> Assign [(ngModel)] = variable in TS
2. Typescript Bind -> Declare Variable

------------------------------------------------------------------------------------------------
Assign HTML Attribute using Typescript variable (HTML attribute binding)
Component typescript -> HTML Input (One Way)
1. HTML Bind -> Assign [Name HTML attribute] = variable in TS
2. Typescript Bind -> Declare Variable

-------------------------------------------------------------------------------------------------
Access DOM element in typescript (Event driven)
HTML Elment -> Component typescript (One Way)
1. HTML Bind -> Assign (Name HTML event) = Function Name in TS($event)
2. Typescript Bind -> Declare Function definition

-------------------------------------------------------------------------------------------------
Access HTML element on another HTML element (DOM Object)
HTML Elment -> HTML Elment
1. HTML Bind -> Using '#' to create referencing the DOM object HTMLInputElement

-------------------------------------------------------------------------------------------------
Access component variable on another component using attribute (create HTML attribute aka custom directive for others to access)
HTML element(1st component) -> TS variable (2nd component) (one way)
1. HTML Bind(1st component) -> Use [selector-input] = varibale in TS (1st component)
2. Typescript Bind(2nd component) -> create @Directive  selector: '[selector-input]'
@Input('selector-input') dataUrl:string;

-------------------------------------------------------------------------------------------------
Accces HTML element in typescript (using Directive)
TS variable -> HTML element
1. HTML Bind -> Place selector-input as attribute inside elment
2. Typescript Bind -> create @Directive  selector: '[selector-input]'
  access the element using ElementRef

-------------------------------------------------------------------------------------------------
Using component inside another template  
1. HTML Bind -> Place the selector component inside template

Comments

Popular posts from this blog

Flash Tool Error Codes -MTK Chipset

Complete List of SP Flash Tool Error Codes and their Meanings and Solutions MTK Chipset. . How to Fix SP Flash Tool Errors (BROM Error Codes): SP Flash Tool Failed to enumerate COM Port This error clearly means that the Flash Tool has issues finding the COM port on which your device is connected. Solution: Connect your watch to other Port and make sure you have USB Drivers installed. Open “Device Manager” and find the COM Port of the device you connected. Once found, open Flash Tool, click on Options -> COM Port -> Select the COM Port on which you have connected your device. Device automatically disconnects during flashing Meaning: Device disconnects as soon as the flashing process begins, interrupting the process. Solution: Try a different USB Cord, USB Port & PC Hold the Volume down or up button while connecting the device to PC for flashing SP Flash Tool remains at 0% Solution: Install necessary MediaTek VCOM drivers on PC. Use the latest version of S...

HTML : Property vs Attribute

When writing HTML source code, you can define attributes on your HTML elements. Then, once the browser parses your code, a corresponding DOM node will be created. This node is an object, and therefore it has properties. For instance, this HTML element: <input type = "text" value = "Name:" > has 2 attributes. Once the browser parses this code, a HTMLInputElement object will be created, and this object will contain dozens of properties like: accept, accessKey, align, alt, attributes, autofocus, baseURI, checked, childElementCount, childNodes, children, classList, className, clientHeight, etc. For a given DOM node object, properties are the properties of that object, and attributes are the elements of the  attributes  property of that object. When a DOM node is created for a given HTML element, many of its properties relate to attributes with the same or similar names, but it's not a one-to-one relationship. For instance, for this HTML element:...