当前位置: 首页 > news >正文

网站建设公司如何转型xampp怎么做网站

网站建设公司如何转型,xampp怎么做网站,wordpress主题包含,渭南网站建设电话ControlValueAccessor 是什么#xff1f;为什么需要使用 #xff1f;下面本篇文章就来带大家了解Angular中的ControlValueAccessor组件接口#xff0c;希望对大家有所帮助#xff01; ControlValueAccessor 是什么#xff1f; 简单来说ControlValueAccessor是一个接口为什么需要使用 下面本篇文章就来带大家了解Angular中的ControlValueAccessor组件接口希望对大家有所帮助 ControlValueAccessor 是什么 简单来说ControlValueAccessor是一个接口它被用于在 Angular 的 FormControl 实例和原生 DOM 元素之间创建一个桥梁。其使用方式和OnInit类似需要程序员在自定义组件里面实现相应的方法。 import { ControlValueAccessor, NG_VALUE_ACCESSOR } from angular/forms; Component({selector: custom,templateUrl: ./custom.component.html,styleUrls: [./custom.component.less],providers: [ {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() CustomComponent),multi: true } ] }) export class CustomComponent implements ControlValueAccessor, OnInit, {… 为什么需要使用 ControlValueAccessor 有时你可能需要创建自定义的表单元素并希望它能和Angular的FormControl成功通信。这时你便需要ControlValueAccessor来实现这个目的。 比如 this.myForm new FormGroup({userName: new FormControl({value: , disabled: false}) }); form [formGroup]myForm (ngSubmit)onSubmit()div classform-grouplabelName:my-input formControlNameuserName/my-input/label/divdiv classform-groupbutton typesubmitSubmit/button/div /form 深入理解 ControlValueAccessor的使用方法在Angular官网和很多的文章中都有介绍但是它具体是如何起作用的呢 Angular 需要一种通用机制来桥接原生/自定义表单控件和 formControl 指令而这正是 ControlValueAccessor 干的事情。这个对象桥接原生表单控件和 formControl 指令并同步两者的值。任何一个组件或指令都可以通过实现 ControlValueAccessor 接口并注册为 NG_VALUE_ACCESSOR从而转变成 ControlValueAccessor 类型的对象。 其实原生表单控件也拥有类似于ControlValueAccessor的接口比如当 Angular 在组件模板中中遇到 input 或 textarea DOM 原生控件时就会使用DefaultValueAccessor 指令 Accessor Form Element DefaultValueAccessor input,textarea CheckboxControlValueAccessor input[typecheckbox] NumberValueAccessor input[typenumber] RadioControlValueAccessor input[typeradio] RangeValueAccessor input[typerange] SelectControlValueAccessor select SelectMultipleControlValueAccessor select[multiple] 以上是Angular 为所有原生 DOM 表单元素创建的 Angular 表单控件即内置ControlValueAccessor ControlValueAccessor 接口定义了四个方法 - writeValue(objany)将表单模型中的新值写入视图或DOM属性如果需要的方法它将来自外部的数据写入到内部的数据模型。 - registerOnChange(fnany)一种注册处理程序的方法当视图中的某些内容发生更改时应调用该处理程序。它具有一个告诉其他表单指令和表单控件以更新其值的函数。通常在 registerOnChange 中需要保存该事件触发函数在数据改变的时候可以通过调用事件触发函数通知外部数据变了同时可以将修改后的数据作为参数传递出去。 - registerOnTouched(fn: any)注册 onTouched 事件基本同 registerOnChange 只是该函数用于通知表单组件已经处于 touched 状态改变绑定的 FormControl 的内部状态。 - setDisabledState(isDisabled: boolean)当调用 FormControl 变更状态的 API 时得表单状态变为 Disabled 时调用 setDisabledState() 方法以通知自定义表单组件当前表单的读写状态。 formControl 指令使用 writeValue 方法设置原生表单控件的值使用 registerOnChange 方法来注册由每次原生表单控件值更新时触发的回调函数我们需要把更新的值传给这个回调函数这样对应的 Angular 表单控件值也会更新使用 registerOnTouched 方法来注册用户和控件交互时触发的回调。 formControl会调用名为setUpControl的函数ControlValueAccessor的实例valueAccessor会被作为参数传入这个函数中。在setUpControl中ControlValueAccessor的四个方法会在交互时被调用以完成formControl和元素之间的通信。 拓展 在使用ControlValueAccessor时需要一同引入NG_VALUE_ACCESSOR它是使用InjectionToken 创建的可在 Provider 中使用的 Token。我们在编写自己的项目时一般不需要用到InjectionToken但是在一个框架或者第三方的插件中它就变得十分有必要了。 export const NG_VALUE_ACCESSOR new InjectionTokenReadonlyArrayControlValueAccessor(NgValueAccessor); 试想当我使用依赖注入的功能时我需要将我创建的依赖注册进组件中。这时我就需要一个令牌如果我使用一个字符串作为令牌就有可能会造成重复相同的令牌会导致后面的覆盖前面的。所以需要一个Token作为一个唯一值来防止这种冲突。 providers: [{ provide: TOKEN, useValue: … }] 以上就是Angular学习之ControlValueAccessor接口详解的详细内容请大神们多多提点共同进步
http://www.lakalapos1.cn/news/11665/

相关文章:

  • 淘宝客网站程序购米天津市建设工程交易网
  • 网站做优化公司公司网站开发费用计入哪个科目
  • php网站开发计划开发平台游戏
  • django完整网站开发网站建设和信息工作会议
  • 建站快车加盟微信扫一扫抽红包在哪里做网站
  • 网站开发团队公司模式水处理设备网站建设
  • php网站开发实例教程源代码如何给网站做排名优化
  • 如何制作一个网站做淘宝券有没有做兼职的网站吗
  • 免费网站在线观看人数在哪关键词热度
  • 天津建设培训中心网站头像设计logo
  • 做h游戏视频网站一键视频制作免费软件
  • 长沙网站建设 网站设计隧道建设网站怎么了
  • 做一个简单的网站怎么做廊坊建网站
  • 东莞网站建设营销的企业安微省建设庁官方网站
  • 魔站建站系统哪家好深圳分销网站设计哪家好
  • 网站建站 优化推广开源企业网站程序
  • 怎么刷网站权重wordpress视频直播插件
  • 网络黄页推广软件哪个好用百度竞价是seo还是sem
  • phpcms v9网站模板不备案 国内网站吗
  • 学会网站建设目的南宁电子商务网站建设
  • 文明网站的建设与管理的思考四川省工程建设信息网
  • 怎么在网站做营销软文最受欢迎的wordpress主题
  • 网站开发模式名词快站 淘宝优惠券
  • 安徽省住房和城乡建设厅网站领域centos 7下载wordpress
  • 将一个网站拉入黑名单怎么做简 wordpress 主题
  • 网站建设验收程序网站代运营要多少费用吗
  • 广州营销网站建设深圳外贸响应式网站建设
  • 如何自己建设一个网站广东省住房和城乡建设局网站
  • 成都网站开发定网站建设方案书 模版
  • 网站建设与网页设计 视频wordpress表单样式