динамически назначать переменную свойствам объекта - PullRequest
0 голосов
/ 07 мая 2018

Я хочу присвоить переменную свойству объекта.

this.dir = {
  origin : {
     lat :36.7014631
    , lng: -118.7559974
  },
  destination: { lat: 36.7014631, lng: -118.7559974}
}

Приведенный выше код работает нормально, но то, что мне нужно ниже, не работает:

this.dir = {
  origin : {
     lat :this.la,
     lng: this.lo
  },
  destination: { lat: 36.7014631, lng: -118.7559974}
}

Мне нужно это связать в HTML, как это:

<agm-map [latitude]="lat" [longitude]="lng">
  <agm-direction *ngIf="dir" [origin]="dir.origin" [destination]="dir.destination"></agm-direction>
</agm-map>

1 Ответ

0 голосов
/ 07 мая 2018
<agm-map [latitude]="lat" [longitude]="lng">
  <agm-direction *ngIf="dir" [origin]="dir.origin" [destination]="dir.destination"></agm-direction>
</agm-map>

Вы пытаетесь установить lat на [latitude], но, согласно предоставленному коду, вы не определили lat как свою собственную переменную.

У вас есть поле:

this.dir = {
  origin : {
     lat :this.la, 
     lng: this.lo
  },
  destination: { lat: 36.7014631, lng: -118.7559974}
}

Итак, измените ваш шаблон, чтобы он не обращался к lat, потому что он не определен в вашем контроллере, а скорее к dir.origin.lat:

<agm-map [latitude]="dir.origin.lat" [longitude]="dir.origin.lng">
  <agm-direction *ngIf="dir" [origin]="dir.origin" [destination]="dir.destination"></agm-direction>
</agm-map>

Или, поскольку похоже, что у вас есть поле lat & long, сделайте это так:

<agm-map [latitude]="la" [longitude]="lo">
  <agm-direction *ngIf="dir" [origin]="dir.origin" [destination]="dir.destination"></agm-direction>
</agm-map>
...