角度“选择”输入,在选择的选项上更改变量

时间:2018-05-20 08:58:25

标签: angular variables select input

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

例如: 当有人选择:“SCRYPT”时,变量“selectedAlgorithm”将使用值“SCRYPT”进行更新。

我是一个有角度的初学者,谢谢你的帮助。

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;
  };
}

1 个答案:

答案 0 :(得分:1)

使用 Two-way binding [(ngModel)]="selectedAlgorithm"
Angular中的双向绑定是模型和视图之间的同步。当模型中的数据发生更改时,视图会反映更改,当视图中的数据发生更改时,模型也会更新

<强> 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