Angular "select"输入,根据所选选项更改变量

标签 angular variables select input

我有一个问题。 我正在使用 Angular 2。我在 html 中有一个下拉选择,在 TS 文件中有一个变量“selectedVariable”。我想在选择一个选项时更改 TS 文件中的变量。

例如: 当有人选择:“SCRYPT”时,变量“selectedAlgorithm”会更新为值“SCRYPT”。

我是一个 Angular 初学者,谢谢你的帮助。

HTML:

<select class="form-control" id="allocation-algorithm">
      <option value="SHA-256">SHA-256</option>
      <option value="SCRYPT">SCRYPT</option>
      <option value="ETHASH">ETHASH</option>
      <option value="CRYPTONIGH">CRYPTONIGHT</option>
      <option value="X11">X11</option>
    </select>

TS:

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

import {HashrateAllocationService} from './hashrateAllocation.service';

@Component({
  selector: 'hashrate-allocation',
  templateUrl: './hashrateAllocation.html',
  styleUrls: ['./hashrateAllocation.scss']
})
export class HashrateAllocation {
  selectedAlgorithm = "SHA-256";

  allocationTableData:Array<any>;

  constructor(private _hashrateTableService: HashrateAllocationService) {
    this.allocationTableData = _hashrateTableService.allocationTableData;
  };
}

最佳答案

使用 Two-way binding [(ngModel)]="selectedAlgorithm"
Angular 中的双向绑定(bind)是模型和 View 之间的同步。当模型中的数据发生变化时, View 反射(reflect)变化,当 View 中的数据发生变化时,模型也随之更新

HTML

<select class="form-control" id="allocation-algorithm" [(ngModel)]="selectedAlgorithm">
      <option value="SHA-256">SHA-256</option>
      <option value="SCRYPT">SCRYPT</option>
      <option value="ETHASH">ETHASH</option>
      <option value="CRYPTONIGH">CRYPTONIGHT</option>
      <option value="X11">X11</option>
    </select>

组件

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

import {HashrateAllocationService} from './hashrateAllocation.service';

@Component({
  selector: 'hashrate-allocation',
  templateUrl: './hashrateAllocation.html',
  styleUrls: ['./hashrateAllocation.scss']
})
export class HashrateAllocation {
  public selectedAlgorithm = "SHA-256";

  allocationTableData:Array<any>;

  constructor(private _hashrateTableService: HashrateAllocationService) {
    this.allocationTableData = _hashrateTableService.allocationTableData;
  };
}

DEMO

关于Angular "select"输入,根据所选选项更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50433201/

相关文章:

javascript - Angular 内存网络 API 内部服务器错误

javascript - 添加 Javascript 变量

variables - 在一行SAS中初始化多个变量

mysql - 我只需选择表格中出现的一次破折号

angular - 如何在 Angular2 中使用 owl-carousel 异步更改 ng-content

javascript - Angular 7 Jasmine单元测试: how to get component NativeElement?

angular - 使用 PrimeNG 在响应式(Reactive)表单上显示复选框

python - 如何在Python正则表达式中使用变量?

forms - Laravel 表单选择自定义文本

jquery - 当焦点/单击时,是否可以选择 iPhone 设备上的所有输入文本?