代码之家  ›  专栏  ›  技术社区  ›  User123

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

  •  0
  • User123  · 技术社区  · 8 年前

    如何在JavaScriptES6概念中定义现有对象属性的setter。 目前,我已经直接将值赋给了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;
     }
    

    Demo

    1 回复  |  直到 8 年前
        1
  •  0
  •   Mathias F    8 年前

    在typescript中使用

    export class FormModel {
        private  _isCitizen : boolean;
    
        set isCitizen(isCitizen:boolean) {
            this._isCitizen = isCitizen;
        }
        get isCitizen():boolean {
           return this._isCitizen ;
        }
    }