我有问题。 我正在使用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;
};
}
答案 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 强>