Angular7中创建组件/自定义指令/管道的方法实例详
组件
使用命令创建组件
•创建组件的命令ng generate ponent 组件名
•生成的组件组成 组件名.html 、组件名.ts、组件名.less、组件名.spec.ts
•在组件的控制器
@Component({ selector: 'app-heroes', templateUrl: './heroes.ponent.html', styleUrls: ['./heroes.ponent.less'] })
手动创建组件
1.创建一个组件ts文件
2.在组件中设置
// 1. 导入包,按需导入 import { Component } from "@angular/core"; import { CoreEdit, NavLayoutComponent } from "@reco/core"; import { DinerService } from "../Service"; // 2.定义当前组件的修饰器 @Component({ // 支出对外使用的名称 selector: "diner-birth", // 使用的模板 templateUrl: "./diner.birth.html" }) // 导出使用的类 export class DinerBirthComponent extends CoreEdit { constructor( private _dinerService: DinerService, layout: NavLayoutComponent ) { super(_dinerService, 'diner-birth', layout); } }
1.在index.ts文件中引入并导出
// 1. 导入 import { DinerBirthComponent } from "./diner.birth"; // 2. 导出 export { DinerBirthComponent } // 3. 注册 @NgModule({ // 这里列出的 NgModule 所导出的可声明对象可用在当前模块内的模板中 imports: [....], // declarations:[ 组件 ] 属于该模块的一组组件、指令和管道(统称可声明对象)。 // 注意点在这个源数据中只能声明组件、管道、指令 declarations: [DinerBirthComponent], // 定义此 NgModule 中要编译的组件集,这样它们才可以动态加载到视图中。 entryComponents: [....], // 导出的模块 exports: [....] })
指令
认识指令
•说明在 Angular 中有三种类型的指令 ◦1.组件 — 拥有模板的指令
◦2.结构型指令 — 通过添加和移除 DOM 元素改变 DOM 布局的指令
◦3.属性型指令 — 改变元素、组件或其它指令的外观和行为的指令。
自定义指令
•创建自定义指令的命令 ng g d 目录/指令名称
•创建指令
1.创建指令的文件ts文件
2.在指令文件中写
import { Directive, ElementRef, Input, Output } from '@angular/core'; // 自定义指令 @Directive({ selector: '[dinerHidden]' }) // 导出指令的模块 export class DinerHiddenDirective { // el 代表当前的元素 constructor(el: ElementRef) { // console.log() el.nativeElement.style.display = "none" } } 1.在index.ts中将该指令导入到ngModule中 // 1.导入 import { DinerHiddenDirective } from "./diner.hidden"; // 2.导出 export const DINER_COMPONENTS: Provider[] = [ DinerHiddenDirective ]; // 3.ngModule中注册 @NgModule({ // 这里列出的 NgModule 所导出的可声明对象可用在当前模块内的模板中 imports: [], // declarations:[ 组件 ] 属于该模块的一组组件、指令和管道(统称可声明对象)。 // 注意点在这个源数据中只能声明组件、管道、指令 declarations: [DINER_COMPONENTS], // 定义此 NgModule 中要编译的组件集,这样它们才可以动态加载到视图中。 entryComponents: [] })
1.在页面中引用
<!-- 隐藏当前的这个标签 --> <div class="form-group col-sm-6" dinerHidden> </div>
管道中的常用API
asyncPipe
•说明async 管道会订阅一个 Observable 或 Promise,并返回它发出的最近一个值。 当新值到来时,async 管道就会把该组件标记为需要进行变更检测。当组件被销毁时,async 管道就会自动取消订阅,以消除潜在的内存泄露问题。
CurrencyPipe
•说明把数字转换成金额字符串, 根据本地化规则进行格式化,这些规则会决定分组大小和分组分隔符、小数点字符以及其它与本地化环境有关的配置项。
DatePipe
•说明把数字转换成金额字符串, 根据本地化规则进行格式化,这些规则会决定分组大小和分组分隔符、小数点字符以及其它与本地化环境有关的配置项。
DecimalPipe
•说明把数字转换成字符串, 根据本地化规则进行格式化,这些规则会决定分组大小和分组分隔符、小数点字符以及其它与本地化环境有关的配置项。
自定义管道
•创建管道的命令ng g pipe 目录/管道名称
•手动创建管道 •创建ts文件
import { Pipe, PipeTransform } from '@angular/core'; // 自定义管道 getGender @Pipe({ name: 'getGender' }) // 创建的管道的类 export class GenderPipe implements PipeTransform { transform(value: string, exponent: string) { if (value == ' ') return "未知" return value === 'm' ? "男" : "女" } }
•将这个管道添加到NgModuel中
// 1. 先导入 import { GenderPipe } from "./diner.gender"; // 2.导出 export const DINER_COMPONENTS: Provider[] = [GenderPipe]; // 3.添加到NgModule中的 @NgModule({ // 这里列出的 NgModule 所导出的可声明对象可用在当前模块内的模板中 imports: [...], // declarations:[ 组件 ] 属于该模块的一组组件、指令和管道(统称可声明对象)。 // 注意点在这个源数据中只能声明组件、管道、指令 declarations: [DINER_COMPONENTS], // 定义此 NgModule 中要编译的组件集,这样它们才可以动态加载到视图中。 entryComponents: [...] })
•在页面中引入使用
~ <!-- item.DGender的值为m和w,将对应的m转为男,w转为女 --> <td>{{item.DGender | getGender}}</td> ~
以上所述是长沙网络推广给大家介绍的Angular7中创建组件/自定义指令/管道的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程