2016-02-18 6 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); 
    } 
} 

Когда предупреждение называется, не определено значение, которое я получаю от него. Кроме того, требуется декоративный элемент декора?

ответ

6

Вместо использования camelCase для ваших атрибутов, попробуйте шкатулку.

Попробуйте это:

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

Согласно конвенции Aurelia, штрих-case'd атрибуты будут преобразованы в верблюжьего переменные в вашем ViewModel, поэтому виртуальная машина уже хорошо.

+0

Это было сделано! Где документируется это соглашение? –

+0

Прошу прощения. Я действительно, хотя это соглашение было описано на некоторых страницах документов, но, похоже, это не так. Должно быть, я читал в каком-то блоге, которого я не могу найти. –

+1

Я думаю, что это блог. Я помню, как он видел это еще некоторое время назад. Аурелия все еще находится в точке, где вы собираете документацию, где бы вы ее ни находили. :) Это довольно забавно использовать. Спасибо за вашу помощь! –

Смежные вопросы