Angular5中提取公共组件之radio list的实例代码


Posted in Javascript onJuly 10, 2018

本文给大家说一下Radio List的公共组件提取。

Radio List组件提取起来很方便,不想Checkbox那么复杂。

radio-list.component.ts

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { RadioItem } from '../../model/radio';
import { NgModel } from '@angular/forms';
@Component({
  selector: 'app-radio-list',
  templateUrl: './radio-list.component.html',
  styleUrls: ['./radio-list.component.css']
})
export class RadioListComponent implements OnInit {
  @Input() list: RadioItem[];
  @Input() name: string;
  @Input() colNum: number = 6;
  @Input("selectModel") model: string;
  @Output("selectChange") onChange: EventEmitter<any> = new EventEmitter<any>();
  constructor() { }
  ngOnInit() {
  }
  changeSelected() {
    let data = { value: this.model, name: this.name };
    this.onChange.emit(data);
  }
}

radio-list.component.html

<div *ngIf="list" class="form-row">
  <div class="col-{{colNum}} mb-2" *ngFor="let item of list">
    <div class="form-check abc-radio abc-radio-primary">
      <input class="form-check-input" type="radio" [value]="item.id" [(ngModel)]="model" (change)="changeSelected()" name="{{name}}" id="{{name}}_{{item.id}}">
      <label class="form-check-label" for="{{name}}_{{item.id}}">
        {{item.name}}
      </label>
    </div>
  </div>
</div>

在相关引用的module中注册

import { RadioListComponent } from '../components/radio-list/radio-list.component';
export const routes = [
  { path: '', component: xxxComponent, pathMatch: 'full' }
];
@NgModule({
  imports: [...],
  declarations: [...
    , RadioListComponent
    , ...],
  providers: []
})
export class xxxModule {
  static routes = routes;
}

对应的html中引用如下:

<app-radio-list [list]="sourceArr"
         [name]="'selectedSource'"
         [colNum]="12"
        [(selectModel)]="selectedSource"
        (selectChange)="selectChange($event)">
 </app-radio-list>

按照如上步骤,还缺少对应的selectChange($event):

selectChange(model: any) {
   this[model.name] = model.value;
 }

总结

以上所述是小编给大家介绍的Angular5中提取公共组件之radio list的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
简单JS代码压缩器
Oct 12 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
在for循环中length值是否需要缓存
Jul 27 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
Jan 22 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
Nov 24 Javascript
了解重排与重绘
May 29 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
Windows下安装 node 的版本控制工具 nvm
Feb 06 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
Feb 27 Javascript
ng-alain表单使用方式详解
Jul 10 #Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 #Javascript
React之PureComponent的使用作用
Jul 10 #Javascript
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 #Javascript
echarts整合多个类似option的方法实例
Jul 10 #Javascript
详解使用Next.js构建服务端渲染应用
Jul 10 #Javascript
node.js中TCP Socket多进程间的消息推送示例详解
Jul 10 #Javascript
You might like
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
Underscore源码分析
2015/12/30 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
python做量化投资系列之比特币初始配置
2018/01/23 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
python写日志文件操作类与应用示例
2019/07/01 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
pytorch简介
2020/11/11 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
高中毕业自我鉴定
2013/12/13 职场文书
少先队活动总结
2014/08/29 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
导游词之镜泊湖
2019/12/09 职场文书