angular4-自定义组件
2024-10-11 01:24:47
在 Angular 中,我们可以使用 {{}}
插值语法实现数据绑定。
新建组件 $ ng generate component simple-form --inline-template --inline-style
# Or
$ ng g c simple-form -it -is # 表示新建组件,该组件使用内联模板和内联样式
//会自动为simple-form生成simple-form.component.ts文件,文件中的selector为:app-simple-form,自动添加了app-前缀
输出:
installing component
create src/app/simple-form/simple-form.component.spec.ts // 用于单元测试
create src/app/simple-form/simple-form.component.ts // 新建的组件
update src/app/app.module.ts //Angular CLI 会自动更新 app.module.ts 文件。把新建的组件添加到 NgModule 的 declarations 数组中
app.module.ts更新后:
@NgModule({
declarations: [
AppComponent,
SimpleFormComponent
],
...
})
export class AppModule { }
创建 UserComponent 组件
import { Component } from '@angular/core'; @Component({ //Component
装饰器来定义组件的元信息
selector: 'sl-user',
template: `
<h2>大家好,我是{{name}}</h2>
<p>我来自<strong>{{address.province}}</strong>省,
<strong>{{address.city}}</strong>市
</p>
<p>{{address | json}}</p>//Angular 内置的 json
管道,来显示对象信息
`, })
//定义组件类 export class UserComponent {
name = 'name';
address = { province: 'province', city: 'city' }
} //使用构造函数初始化数据
export class UserComponent {
name: string;
address: any;
constructor() {
this.name = 'name';
this.address = {
province: 'province',
city: 'city'
}
}
}
//接口使用
interface Address {
province: string;
city: string;
}
export class UserComponent {
name: string;
address: Address;
constructor(){
this.name = 'name';
this.address = {
province: 'province',
city: 'city'
}
}
}
定义数据接口( TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。)
interface Person {
name: string;
age: number;
} let semlinker: Person = {
name: 'semlinker',
age:
};
声明 UserComponent 组件
// ...
import { UserComponent } from './user.component';//载入
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent, UserComponent],//声明
bootstrap: [ AppComponent ]
})
export class AppModule { }
在AppComponent中使用 UserComponent 组件
import { Component } from '@angular/core'; @Component({
selector: 'my-app',
template: `
<sl-user></sl-user> //UserComponent 的 selector
`,
})
export class AppComponent {}
最新文章
- CSS3选择器——基本选择器
- 【安装MongoDB】CentOS7 下安装NodeJs+Express+MongoDB+Redis
- CacheHelper
- 2016年11月17日--SQL主、外键,子查询
- The Monty Hall Problem
- Linux CentOS 6.5 yum安装MongoDB的操作
- 【C语言学习】-03 循环结构
- Git教程(10)git比较复杂的功能
- Android(java)学习笔记205:网易新闻RSS客户端应用编写逻辑过程
- 【转载】CentsOS系统inotify实时监控服务器文件(夹)定制事件处理程序
- Hadoop集群
- SDN第四次作业
- linux 定时下载github最新代码
- yii2 gridview checkbox
- Django的admin管理系统写入中文出错的解决方法/1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘locate’
- Gps定位和wifi定位和基站定位的比较
- ubuntu18.04 递归批量删除op_test_xml/ 目录下 .pyc后缀的文件
- unity 3D 学习笔记
- sid-msg.map文件概述
- 从零开始学JavaScript四(数据类型)
热门文章
- pdf can&#39;t copy text 无法复制文字
- 第 8 章 容器网络 - 056 - macvlan 网络结构分析
- rabbimq
- Lab 3-4
- codeforces 578a//A Problem about Polyline// Codeforces Round #320 (Div. 1)
- logstash配置文件
- 378. Kth Smallest Element in a Sorted Matrix(java,优先队列)
- php导出csv
- HashTable Queue Stack SortedList BitArray
- commonJS,常用js工具方法