繁体   English   中英

如何在javascript中的现有对象属性上定义setter

[英]how to define a setter on existing object property in javascript

如何在javascript ES6概念中为现有对象属性定义设置器。 目前,我已将值直接分配为true,我想通过使用setter来实现相同的目的。

HTML:

<form #Form="ngForm" novalidate (ngSubmit)="saveForm()">
<label class="radio-inline pr-3">
<input type="radio" name="isCitizen" required value="yes [(ngModel)]="formList.isCitizen" #isCitizen="ngModel"> Yes
</label>
<label class="radio-inline">
<input type="radio" name="isCitizen" required value="no"[(ngModel)]="formList.isCitizen"#isCitizen="ngModel"> No
</label>
<form>

零件:

 import { Component } from '@angular/core';

 @Component({
 selector: 'my-app',
 templateUrl: './app.component.html',
 styleUrls: [ './app.component.css' ]
 })
 export class AppComponent  {
 name = 'Angular';
 formList: FormModel = new FormModel();

 saveForm(){ //how to set the value to object using setter
 if(this.formList.isCitizen === 'yes'){
 this.formList.isCitizen = true;
 }else{
 this.formList.isCitizen = false;
 }
 }
 }

 export class FormModel {
 isCitizen : boolean;
 }

演示

在打字稿中使用

export class FormModel {
    private  _isCitizen : boolean;

    set isCitizen(isCitizen:boolean) {
        this._isCitizen = isCitizen;
    }
    get isCitizen():boolean {
       return this._isCitizen ;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM