Ionic 离子错误v.context.$implicit未定义

xyhw6mcr  于 2022-12-08  发布在  Ionic
关注(0)|答案(3)|浏览(163)

我的代码中有错误。错误如下:v.context.$implicit未定义
问题是,有时它会出错,有时它不会......有人能解释一下为什么会发生这种情况吗?
这是我的html代码:

<ng-container *ngFor="let time of item.timeInfo | keys" >
    <ion-row *ngIf="time == thisDay"> 
      <ion-col col-3 no-padding>
        <ng-container *ngIf="checkTime(); else closeButton">
          <button small ion-button block color="secondary" outline> OPEN </button>
        </ng-container>
        <ng-template #closeButton>
          <button small ion-button block color="danger" outline>Close </button>
        </ng-template>
      </ion-col>
      <ion-col col-9 >
        {{ item.timeInfo[thisDay].open }} - {{ item.timeInfo[thisDay].close }}
      </ion-col>
    </ion-row>
  </ng-container>

下面是我的json代码:

"item":{
   "timeInfo": {
            "Sat": {
                "open": "11:00",
                "close": "21:00"
            },
            "Sun": {
                "open": "9:00",
                "close": "21:30"
            },
            "Mon": {
                "open": "11:00",
                "close": "22:30"
            },
            "Tue": {
                "open": "12:00",
                "close": "22:00"
            },
            "Web": {
                "open": "12:00",
                "close": "22:30"
            },
            "Thu": {
                "open": "9:30",
                "close": "22:30"
            },
            "Fri": {
                "open": "12:30",
                "close": "22:00"
            }
        },
 };

这是我的版本:

@ionic/cli-utils  : 1.15.2
ionic (Ionic CLI) : 3.15.2

local packages:
@ionic/app-scripts : 3.0.0
Ionic Framework    : ionic-angular 3.7.1

System:
Node : v6.11.2
npm  : 5.4.2
OS   : Windows 8.1

Misc:
backend : pro

有人能帮我吗??Tyvm

ax6ht2ek

ax6ht2ek1#

如果我看不到你的TS代码,我真的帮不上忙。同样的问题也发生在我身上,我的错误是试图在一个数组中插入一个新的数据,比如result[i] = data[i],而不是像result.push(data[i]),这实际上是正确的。希望它能帮上忙!

wydwbb8l

wydwbb8l2#

大多数时候,context.$implicit在模板中引用一个用“let”创建的变量(如“let time of item.info“)。
错误的其余部分(“is undefined”)是典型的JavaScript错误消息,用于尝试使用未定义的值(如对象)。
在您的情况下,当变量thisDay不是timeinfo的键之一时,可能会发生这种情况。检查错误的确切行可能有助于找到html中的错误。

kqqjbcuj

kqqjbcuj3#

我遇到过类似的问题,这样解决了它:过去-现在

<button *ngIf="!readOnly && file.length">Remove</button> // error
<button *ngIf="!readOnly && (file && file.length)">Remove</button> //no error

相关问题