angular - Angular Object - 将选定的值传递给另一个变量
问题描述
我正在尝试将 number 类型的变量设置为对象的选定值,但不明白如何设置它。
我想得到所选猫的年龄。我希望selectAge
它是一个整数,但它显示为 NaN
HTML:
<select [(ngModel)]="selectedOption">
<option [ngValue]="undefined" disabled>Select An Option</option>
<option *ngFor="let o of options" [ngValue]="o.age">Name: {{o.name}}</option>
</select>
零件:
selectedOption: any;
options = [
{ name: "Neeko", age: 4},
{ name: "Gato", age: 6},
{ name: "Gatto", age: 12}
]
// This is the problem. How do I correct it?
// selectAge: number = +this.selectedOption; //NaN
解决方案
例如,您的 selectedOption 变量为 Null,因此您收到此错误。您可以使用 ngModelChange 事件来绑定它。
在你的 html 文件中
<select (ngModelChange) = "dataChanged($event)" [(ngModel)]="selectedOption">
<option [ngValue]="undefined" disabled>Select An Option</option>
<option *ngFor="let o of options" [ngValue]="o.age">Name: {{o.name}}</option>
</select>
ts文件
selectAge: number = 0;
dataChanged($event){
this.selectAge = +this.selectedOption
}
推荐阅读
- javascript - react-native-track-player 不播放从 Express 服务器请求的歌曲
- amazon-web-services - 用于 SQS Lambda 触发器的消息
- c - 信号量何时初始化为 0?
- node.js - 什么是“cookie-parser”中间件?
- c# - MySql.Data.MySqlClient.MySqlException:'当阅读器关闭时尝试读取无效。'
- vuejs2 - 在调整大小事件上更新 Vue 模板
- outlook - 我们想知道为什么 Microsoft Graph API 需要超过 24 小时才能更新数据才能访问以进行查询
- javascript - 如何传递包含单引号和双引号的字符串?
- javascript - 在javascript中使用函数获取实时值
- javascript - 尽管状态发生了变化,但自定义钩子不会触发组件重新渲染