【发布时间】:2021-10-22 09:01:13
【问题描述】:
我正在关注 pro angular 6 第 3 版书籍教程,我发现很难解决 $event.target 值的问题。它被认为是限制每页显示的文章数量的一个选项。但我无法让它工作,我现在认为我的主要问题是该功能在 Angular 12 中不再可用。
ts代码如下:
...
changePage(newPage: number){
this.selectedPage = newPage;
}
changePageSize(newSize: number){
this.productsPerPage = Number(newSize);
this.changePage(1);
}
get pageNumbers(): number[]{
return Array(Math.ceil(this.repository.getProducts(this.selectedCategory)
.length / this.productsPerPage)).fill(0).map((x, i)=> i +1);
}
...
enter code here
html 模板部分有问题 ...
<select class="form-control" [value]="productsPerPage"
(change)="changePageSize($event.target.value)">
<option value="3">3 per Page</option>
<option value="4">4 per Page</option>
<option value="6">6 per Page</option>
<option value="8">8 per Page</option>
</select>
... 我感谢任何可能有帮助的解决方案。
【问题讨论】:
-
这应该是类型转换错误,因为 typescript 认为 changePageSize 使用 HtmlElement 作为类型。这是一篇关于它的好文章:freshman.tech/snippets/typescript/… 或者您可以查看角度文档:angular.io/guide/event-binding-concepts。在您的情况下,您可能应该使用 HTMLSelectElement。
-
这些很好的读物帮助我更好地理解了角度和打字稿。谢谢 user3658510。
标签: html angular typescript select angular-directive