angular4自定义组件详解


Posted in Javascript onSeptember 28, 2017

在 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: 31
};

声明 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 {}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
file模式访问网页时iframe高度自适应解决方案
Jan 16 Javascript
js事件监听机制(事件捕获)总结
Aug 08 Javascript
Angular用来控制元素的展示与否的原生指令介绍
Jan 07 Javascript
js判断数组key是否存在(不用循环)的简单实例
Aug 03 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 Javascript
vue通过watch对input做字数限定的方法
Jul 13 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
利用express启动一个server服务的方法
Sep 17 Javascript
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
Oct 29 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
Feb 08 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 #Javascript
Node.js利用断言模块assert进行单元测试的方法
Sep 28 #Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 #Javascript
node.js学习之断言assert的使用示例
Sep 28 #Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 #Javascript
node.js学习之事件模块Events的使用示例
Sep 28 #Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
Sep 28 #Javascript
You might like
php xml 入门学习资料
2011/01/01 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
Python中方法链的使用方法
2016/02/23 Python
python3.5仿微软计算器程序
2020/03/30 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
深入理解Django的中间件middleware
2018/03/14 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
环境保护标语
2014/06/20 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
大学迎新生标语
2014/10/06 职场文书
民间借贷借条范本
2015/05/25 职场文书
入党申请书格式
2019/06/20 职场文书
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技