我在将属性传递到自定义组件时遇到了一些麻烦。我尝试通过以下方式声明我的组件:
<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);
}
}
调用警报时,undefined是我从中获取的值。另外,是否需要customElement装饰器?
答案 0 :(得分:7)
不要使用camelCase作为属性,请尝试使用破折号。
试试这个:
<project-documents project-id="testing123"></project-documents>
<project-documents project-id.bind="project.Name"></project-documents>
根据aurelia惯例,dash-case&lt; d属性将在ViewModel中转换为camelCase变量,因此您的VM已经很好了。