无法在typescript中强制转换HTMLSelectElement
我用的是角5。在.ts文件中,当我尝试将我的元素类型转换为HTMLSelectElement时,它会抛出一些错误。我检查了文档,但值选项在HTMLSelectElement中可用。我不知道我做错了什么 .ts文件: 内部get_部门职能:无法在typescript中强制转换HTMLSelectElement,html,typescript,angular5,Html,Typescript,Angular5,我用的是角5。在.ts文件中,当我尝试将我的元素类型转换为HTMLSelectElement时,它会抛出一些错误。我检查了文档,但值选项在HTMLSelectElement中可用。我不知道我做错了什么 .ts文件: 内部get_部门职能: var selected_box = <HTMLSelectElement(document.getElementById('departments')).value; var selected\u box=您应该将断言放在括号内: var selec
var selected_box = <HTMLSelectElement(document.getElementById('departments')).value;
var selected\u box=您应该将断言放在括号内:
var selected_box = (<HTMLSelectElement>document.getElementById('departments')).value;
// OR
var selected_box = (document.getElementById('departments') as HTMLSelectElement).value;
var selected_box=(document.getElementById('departments')).value;
//或
var selected_box=(document.getElementById('departments')作为HTMLSelectElement.value;
您只需这样做
<select class="form-control" (change)="get_department($event);">
<option>Select</option>
<option> PRM </option>
<option> CRM </option>
<option> CRDX </option>
</select>
HTML
您不应直接访问文档
比如document.getElementById('departments').value
它阻止使用Angular Universal部署项目
这反过来又使得项目的SEO优化变得不可能
另外,角度通用的所有其他好处都失去了
<select class="form-control" (change)="get_department($event);">
<option>Select</option>
<option> PRM </option>
<option> CRM </option>
<option> CRDX </option>
</select>
get_department(event){ var selected_box = event.target.vlue; }
<select id="departments" class="form-control" (change)="get_department($event)">
<option value="">Select</option>
<option value="prm">PRM</option>
<option value="crm">CRM</option>
<option value="crdx">CRDX</option>
</select>
// Type assertion happens here
get_department(event: HTMLSelectElement) {
var selected_box = event.target.value;
console.log(selected_box);
}