标签:ext 绑定 template 标记 多行 模板 响应 inpu event
在 @Component 中,设置 selector 自定义标签和 template 模板
//1
import { Component } from ‘angular/core‘;
//2
@Component({
//3
selector: ‘contact-item‘,
template:`
<div><p>dadada</p></div>
`
})
以上代码创建了一个简单的angular组件,通过在html中添加<contact-item>
自定义标签的方式使用组件
组件装饰器(Decorator) 每个组件必须使用@Component进行修饰,才能成为angular组件
@Component是TS语法,如果移除@Component,就不是一个组件
组件元数据(Metadata) selector、template、templateUrl等
selector
组件的命名标记,默认为 div
命名:小写字母,‘-‘分隔符
template
组件的内联模板
多行模板使用‘`‘分隔符
templateUrls
外部模板
每个组件只能定义一个模板
推荐使用templateUrl,特别是长模板
@Component({
template:‘app/components/templateName.html‘
})
styles
组件的内联样式
@Component({ styles:[ ` p {color:red;} ` ] })
styleUrls
组件的外联样式
styles 和 styleUrls 可以同时指定,style 优先级更高
@Component({
styles:[‘app/list/item.component.css‘]
})
模板(template) 每个组件都会关联一个模板,此模板最终会渲染到页面上,页面上的DOM元素就是此组件实例的寄宿元素
每个组件都必须设置一个模板, angular 才能将组件内容渲染到 DOM 上,此 DOM 叫 宿主元素
组件可以与宿主元素交互,组件的交互形式包括:
显示数据
使用插值语法 {{}}} 显示组件数据
import { Component } from ‘ @angular/core ‘; @Component({ selector:‘contact-item‘, template:` <div>{{name}}</div> <div>{{phone}}</div> ` }) export class ContactItemComponet{ name :"name"; phone:"12456"; }
双向数据绑定
import { Component } from ‘@angular/core‘; @Component({ selector:‘contact-item‘, template:` <input type="text" value="{{name}}" [(ngModel)]="name"/> <p>{{name}}</p> ` styles:[``] }) export class ContactItemComponent{ //... } //当输入框内容发生改变时,Angular的双向绑定机制会将输入内容同步更新到name属性上,并同步显示到p标签上
监听数组元素事件以及调用组件方法
通过(eventName)方式响应UI事件
一般调用组件方法和事件监听一起使用
<h3 (click)="addContact()"></h3>
组件类 组件的逻辑都在组件内部定义并实现
标签:ext 绑定 template 标记 多行 模板 响应 inpu event
原文地址:https://www.cnblogs.com/Monet/p/9644146.html