通过属性将对象传递给自定义组件

时间:2016-06-26 11:50:17

标签: javascript aurelia aurelia-binding

如何通过Aurelia中的属性将对象传递给自定义组件?

我的自定义组件类如下所示:

import {bindable} from 'aurelia-framework';

export class PageHeading {
    @bindable title = '';
    @bindable subTitle = '';
    @bindable path;

    constructor() {
        console.log('page heading...' + this.subTitle);
    }

    created() {
        console.log('created.. ', this.path);
    }
}

在一个html文件中,我使用了这样的组件:

<page-heading title="Dashboard" sub-title="your starting point" path="${path}"></page-heading>

这适用于titlesubTitle之类的字符串,但我不确定如何将对象传递给组件。这可能吗?如果是这样,我怎么能在奥里利亚做到这一点?

1 个答案:

答案 0 :(得分:5)

使用 for (String rank : ranks) { Pattern pattern = Pattern.compile(rank + " [A-z]+"); Matcher m = pattern.matcher(input); while (m.find()) { System.out.println(rank); System.out.println(m.group(1)); } } 命令将属性绑定到元素的标题可绑定属性:

bind

或将<page-heading title.bind="myObject" ...></page-heading> 命令与object-literal绑定表达式结合使用:

bind

注意:支持ES6对象文字缩写语法 - 假设您的VM上有<page-heading title.bind="{ foo: 'foo', bar: someProperty, baz: anotherProperty }" ...></page-heading> foobar道具,这样可行:

baz