0

Ich habe eine grundlegende Aurelia-Komponente und es sieht aus wie wenn ich Dash in seinem Namen verwenden, funktioniert es nicht.Aurelia Dash in Komponentenname nicht funktioniert

Es funktioniert, wenn ich es so haben:

import {inject, customElement, bindable} from 'aurelia-framework'; 

@customElement('helloworld') 
@inject(Element) 
export class HelloWorldCustomElement { 
    constructor(element) { 
     console.log ('here') 
    } 
} 
<helloworld></helloworld> 

Aber es funktioniert nicht, wenn so:

import {inject, customElement, bindable} from 'aurelia-framework'; 

@customElement('hello-world') 
@inject(Element) 
export class HelloWorldCustomElement { 
    constructor(element) { 
     console.log ('here') 
    } 
} 
<hello-world></hello-world> 

Laut der Aurelia-Dokumentation sollte es in beide Richtungen funktionieren: https://github.com/aurelia/templating/blob/master/doc/article/en-US/templating-custom-elements.md

+0

Sind Sie sicher, dass Sie nicht über eine andere 'hallo-World' Komponente oder Eigenschaft in Ihrem applicaton? –

+0

Dies scheint der Fall zu sein. Ich habe eine HTML-Datei mit dem gleichen Namen importiert, die einen Konflikt verursachte: '' – st3fan

Antwort

1

Ich habe die Ursache dafür gefunden. In app.html hatte ich die folgende Zeile und es scheint, dass es einen Namenskonflikt gab. Durch das Entfernen wurde das Problem sofort behoben.

<require from="hello-world/hello-world.html"></require> 
+3

Beachten Sie auch, dass Sie das 'customElement nicht verwenden müssen 'Dekorator, wenn Sie die Standardbenennungskonvention über' MyElementCustomElement' und umgekehrt verwenden. Der Decorator gibt Ihnen mehr Kontrolle und ermöglicht Ihnen eine anders benannte Klasse für das Element. –

Verwandte Themen