4

weather.ts gedruckt bekommen Dateiaurelia: Variable nicht in benutzerdefinierten Komponente

import {bindable} from 'aurelia-framework'; 

export class Weather { 
    cityName: string = 'Hilsinki'; 
    constructor() { 
    this.cityName = 'Hilsinki'; 
    } 
} 

weather.html Datei

<template> 
     City XName: ${cityName} 
</template> 

Wenn ich die Komponente in einer beliebigen Datei drucken, die cityname Variable wird nicht gedruckt. Ich versuche das für die letzten drei Tage 12 Stunden am Tag.

Jede Art von Hilfe ist willkommen

UPDATE: Verwendung der Komponente in welcome.html

<template> 
    <require from = "./components/weather.html"></require> 
    <weather view-model="Weather"></weather> 
</template> 

importiert auch die Komponente in welcome.ts als

import { Weather } from './components/weather'; 
+0

Wie haben schließen Sie die Komponente? Können wir die HTML-Datei sehen, die die '' Komponente erstellt? –

+0

@JessedeBruijne, danke, Beitrag aktualisiert, bitte überprüfen Sie –

+1

Von Ihrem aktualisierten Fehler: Element mit dem gleichen Namen bereits vorhanden. Sie erhalten diesen Fehler, wenn Sie das Element erneut einschließen. Überprüfen Sie in Ihrem Code, um zu sehen, wo Sie ihn auch einschließen, und entfernen Sie ihn entweder hier/dort. – bigopon

Antwort

2

Sie haben das Ansichtsmodell require nicht angezeigt, nur die Ansicht.

<require from = "./components/weather.html"></require> 

Wenn Sie sowohl die Aussicht und die Viewmodel, erfordern es wie folgt statt:

<require from = "./components/weather"></require> 
+0

Fehler: Es wurde versucht, ein Element zu registrieren, wenn bereits ein Element mit demselben Namen existiert. Name: Wetter. –

+0

Sie müssten das 'view-model =" Wetter "' und das 'importieren {Wetter} von './Components/weather'' entfernen, da sie nicht mehr benötigt werden :) –

+0

entfernt, aber immer noch der gleiche Fehler . –

Verwandte Themen