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 相关文章推荐
使用GruntJS构建Web程序之安装篇
Jun 04 Javascript
jquery任意位置浮动固定层插件用法实例
May 29 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
Jun 18 Javascript
leaflet的开发入门教程
Nov 17 Javascript
PHP7新特性简述
Jun 11 Javascript
微信小程序组件传值图示过程详解
Jul 31 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 Javascript
解决layui table表单提示数据接口请求异常的问题
Sep 24 Javascript
vue.js实现图书管理功能
Sep 24 Javascript
node.js文件操作系统实例详解
Nov 05 Javascript
JS实现滑动拼图验证功能完整示例
Mar 29 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 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
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
javascript语言结构小记(一)
2011/09/10 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
jquery append与appendTo方法比较
2017/05/24 jQuery
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
Python类的专用方法实例分析
2015/01/09 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
上班看电影检讨书
2014/02/12 职场文书
趣味运动会策划方案
2014/06/02 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android