2016-02-18 17 views
5

属性をカスタムコンポーネントに渡すときに問題が発生します。カスタム属性をAureliaコンポーネントに渡す

<require from="../components/project-documents"></require> 

<project-documents projectId="testing123"></project-documents> 
<project-documents projectId.bind="project.Name"></project-documents> 

import {customElement, bindable} from "aurelia-framework"; 
import {autoinject} from "aurelia-dependency-injection"; 

@customElement("project-documents") 
export class ProjectDocuments { 

    @bindable projectId:string; 

    attached() { 
     alert(this.projectId); 
    } 
} 

アラートが呼び出されると、未定義のは、私はそれから得る値である:私は私のコンポーネント、次の方法を宣言しようとしています。また、customElementデコレータが必要ですか?

答えて

6

属性にcamelCaseを使用する代わりに、ダッシュケースを使用してください。

はこれを試してみてください:

<project-documents project-id="testing123"></project-documents> 
<project-documents project-id.bind="project.Name"></project-documents> 

アウレリアの規則によると、ダッシュcase'd属性があなたのViewModelにキャメルケース変数に変換されますので、あなたのVMはすでに罰金です。

+0

それをしました!その条約はどこに文書化されていますか? –

+0

すみません。私は本当にこのコンベンションがいくつかのドキュメントページに記述されていますが、そうではないようです。私は今見つけられないブログを読んでいるに違いない。 –

+1

私はそれがブログだと思います。私はしばらく前にそれを見て覚えています。 Aureliaはまだどこからでもドキュメントをまとめています。 :)しかし、それはかなり楽しいですが使用しています。ご協力いただきありがとうございます! –

関連する問題