単純なクリック代理人から自分自身を崩壊させるカスタム要素を作成しようとしていますが、うまくいかないようです。コードの後ろにあるカスタム要素のバインド値を変更できません
私は私のjsファイルで
import {inject, bindable, bindingMode} from 'aurelia-framework';
export class DataGridCustomElement {
@bindable({ defaultBindingMode: bindingMode.oneTime }) columns = [];
@bindable({ defaultBindingMode: bindingMode.oneTime }) items = [];
@bindable() collpased = true;
collapseClick() {
this.collapsed = !this.collpased;
}
}
をこのコードを持っており、ここに私のHTMLファイルがある
<template>
<require from='./data-grid.css'></require>
<div class="collapse-arrow" click.delegate="collapseClick()">
<span class="collapse-icon glyphicon ${collapsed ? 'glyphicon-plus' : 'glyphicon-minus'}" aria-hidden="true"></span>
<span>Order Lines</span>
</div>
<div class="collapse-block" css="${collapsed ? 'display:none;' : 'display:block;'}">
<table class="data-grid">
<thead>
<tr>
<td repeat.for="column of columns">
${column.title}
</td>
</tr>
</thead>
<tbody>
<tr repeat.for="item of items">
<td repeat.for="column of columns">
${item[column.propertyName]}
</td>
</tr>
</tbody>
</table>
</div>
</template>
クレイジーなことは、それだけですべてしていないようです。それはcollapsed
を私がクラスで真に設定していても、get goからfalse
であると示しています。
私はそう
<data-grid columns.bind="invoiceColumns" items.bind="lineData"></data-grid>
任意のアイデアのようにそれを呼び出すのですか?カスタム要素について何か不足していますか?
'@bindable()collpased = true;'の '@ bindable'の後ろにある空のかっこを削除するように機能しますか?私は、あなたが詳細を追加しない限り、常に括弧なしでそれを使用しました。 – LStarky
また、 'this.collapsed =!this.collpased;'にタイプミスがあります。それはあなたのコードにもありますか? – LStarky
@LStarkyまあ...恥ずかしいです...時には、目の第二のセットが必要です。ありがとう! – Carson