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 相关文章推荐
dwr spring的集成实现代码
Mar 22 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
Jan 03 Javascript
使用jquery写个更改表格行顺序的小功能
Apr 29 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
Aug 17 Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 Javascript
JavaScript必知必会(七)js对象继承
Jun 08 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
Mar 10 Javascript
Bootstrap面板(Panels)的简单实现代码
Mar 17 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
Jul 19 Javascript
解决React Native端口号修改的方法
Jul 28 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
详解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
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Python实现翻转数组功能示例
2018/01/12 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
如何将json数据转换为python数据
2020/09/04 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
人力资源专业推荐信
2013/11/29 职场文书
安全月活动总结
2014/05/05 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
六一活动主持词
2015/06/30 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书