组件
使用命令创建组件
"htmlcode">
@Component({ selector: 'app-heroes', templateUrl: './heroes.component.html', styleUrls: ['./heroes.component.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: [....] })
指令
认识指令
"htmlcode">
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
"color: #ff0000">自定义管道
"htmlcode">
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' "男" : "女" } }
"htmlcode">
// 1. 先导入 import { GenderPipe } from "./diner.gender"; // 2.导出 export const DINER_COMPONENTS: Provider[] = [GenderPipe]; // 3.添加到NgModule中的 @NgModule({ // 这里列出的 NgModule 所导出的可声明对象可用在当前模块内的模板中 imports: [...], // declarations:[ 组件 ] 属于该模块的一组组件、指令和管道(统称可声明对象)。 // 注意点:在这个源数据中只能声明组件、管道、指令 declarations: [DINER_COMPONENTS], // 定义此 NgModule 中要编译的组件集,这样它们才可以动态加载到视图中。 entryComponents: [...] })
"htmlcode">
~ <!-- item.DGender的值为m和w,将对应的m转为男,w转为女 --> <td>{{item.DGender | getGender}}</td> ~
总结
以上所述是小编给大家介绍的Angular7中创建组件/自定义指令/管道的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 孙露《一抹伤HQ》头版限量[WAV+CUE][1G]
- 黄安.1989-一切从头(TP版)【天际唱片】【FLAC分轨】
- 群星.1994-浓情蜜意情歌精丫华纳】【WAV+CUE】
- 邓丽君.1983-淡淡幽情(2022环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 试音天碟《专业测试第一天碟》经典天碟精选[WAV分轨][1G]
- 试音典范 《情惹发烧情HQCD》人声发烧极品 [WAV+CUE][1G]
- 世界顶级汽车音响试音王《幸福在路上》[低速原抓WAV+CUE][1.1G]
- 老头杯第二届什么时候开始 英雄联盟第二届老头杯开赛时间介绍
- 老头杯第二届什么时候结束 英雄联盟第二届老头杯结束时间介绍
- 老头杯第二届规则是什么 英雄联盟老头杯第二届规则介绍
- 王崴-爵士听堂.蓝色波萨(HQCD)[WAV+CUE]
- 群星《欧美动听情歌·柔情第5季》2CD【DTS-WAV分轨】
- [极品珍藏]德意志进行曲集卡拉扬SACD[WAV+CUE]
- 前暴雪制作人呼吁反击DEI 玩家:夺回文化!
- 腾讯证实子公司Sharkmob大规模裁员:整个市场很低迷