【问题标题】:Property does not exists on type while using ngModel使用 ngModel 时类型上不存在属性
【发布时间】:2020-01-29 10:36:18
【问题描述】:

我正在使用ngModel 来设置 HTML 元素的值。 如何访问所需对象的属性而不出现Property does not exists on type 错误?

通常,我不会使用data.title,而是使用data['title'](data as any).title。 两者都不适用于[(ngModel)],因为它们会产生另一个错误。

除此之外,虽然我需要安全/elvis 运算符,但我不能使用它。

我的解决方法如下: [(ngModel)]="data && data.title"

如何解决这两个问题?

编辑: data 是一个对象,其属性是在从 Firebase 异步加载数据后设置的。 它由data:object = {}; 定义 属性title 在那之后存在。

【问题讨论】:

  • 你能分享你的完整代码吗
  • 在某处添加 *ngIf="data != undefined"。
  • @j.Doe 发布与data相关的组件代码
  • 你不能用ngModel绑定两个东西,我想。

标签: javascript angular typescript


【解决方案1】:

您可以使用 ngModel 来设置和获取值。

HTML

    <input [(ngModel)]="username">
    <button (click)="getValue()">Get Value</button>

TS

    username: any;

    setValue() {
       this.username = "Deepika";
    }

    getValue() {
       console.log('username is -->', this.username)
    }

【讨论】:

    【解决方案2】:

    叫我笨蛋。

    我发现我做错了什么:

    我用data[title]代替data['title']

    【讨论】:

      猜你喜欢
      • 2018-03-29
      • 2022-01-02
      • 2021-01-09
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 2017-07-22
      相关资源
      最近更新 更多