Typescript 如何在Angular 4中设置从视图选择器发送的值类型?
在我看来,我有一个简单的数字选择器代码:Typescript 如何在Angular 4中设置从视图选择器发送的值类型?,typescript,ionic2,angular2-template,ionic3,Typescript,Ionic2,Angular2 Template,Ionic3,在我看来,我有一个简单的数字选择器代码: <ion-select #pageSelector [(ngModel)]="viewCurrentPageNumber" interface="popover" (ionChange)="newPageSelected($event)"> <ion-option *ngFor="let number of renderTasks; let i = index" value="{{i+1}}">{{i+1}}</io
<ion-select #pageSelector [(ngModel)]="viewCurrentPageNumber" interface="popover" (ionChange)="newPageSelected($event)">
<ion-option *ngFor="let number of renderTasks; let i = index" value="{{i+1}}">{{i+1}}</ion-option>
</ion-select>
问题是if
始终为false,因为控制台记录:
pageNum : 2 as string
this.status.currentPageNum: 1 as number
显然,
==
失败了。是否有一种方法可以设置为选择器发送的值的类型,这样我就不必在函数中重新检查它(即pageNum=Number(pageNum)
),或者使if比较不那么严格(==
)我起初不确定,因为几个月前出现了一些与此相关的问题,但是如果您想将离子选择
绑定到一个数字属性,而不是使用值=“{{i+1}}}”
(因为它是插值,这将导致一个字符串),您需要像这样使用属性绑定:[value]=“i+1”
这样,每个离子选项的值都将绑定到对象(在本场景中是一个数字),并且不会转换为字符串
<ion-select #pageSelector [(ngModel)]="viewCurrentPageNumber" interface="popover" (ionChange)="newPageSelected($event)">
<ion-option *ngFor="let number of renderTasks; let i = index" [value]="i+1">{{i+1}}</ion-option>
</ion-select>
{{i+1}}
@sebafereras嗨,谢谢你的评论。不,我想强制从视图发送的值为正确的类型,我不希望将===
更改为==
。如果将[value]=“I+1}}”
更改为[value]=“I+1”
?@sebaffereras,会发生什么情况?这就成功了!你能把它作为答案贴出来,并附上解释来标记它为答案吗?太好了。。。完成!:)
<ion-select #pageSelector [(ngModel)]="viewCurrentPageNumber" interface="popover" (ionChange)="newPageSelected($event)">
<ion-option *ngFor="let number of renderTasks; let i = index" [value]="i+1">{{i+1}}</ion-option>
</ion-select>