首页 > 解决方案 > Angular 12. 错误 TS2339:“EventTarget”类型上不存在属性“值”

问题描述

我正在关注 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>

...我感谢任何可能有帮助的解决方案。

标签: htmlangulartypescriptselectangular-directive

解决方案


为什么你不只是把:

HTML:

 <select class="form-control" [(ngModel)]="productsPerPage">
        <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>

注意:你必须在你的模块中导入 NgModule。

例如,在您的 app.module.ts 中:

...
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
...


imports: [
...
    FormsModule,
...
]

推荐阅读