在Aurelia Compose的视图模型中访问模型

时间:2016-06-06 08:33:14

标签: javascript aurelia

所以根据标题基于数据动态渲染UI到DOM here(向下滚动一下)。

<template repeat.for="item of items">
    <compose model.bind="item" view-model="widgets/${item.type}"></compose>
</template>

如果你更简单地说:

<compose model.bind="item" view-model="itemViewModel.js"></compose>

如果我有itemViewModel.htmlitemViewModel.js,则它们都会成功加载。但是,如何访问itemViewModel.js中的绑定模型?

我尝试使用bindable

import {bindable, bindingMode} from 'aurelia-framework';

export class ItemViewModel {
    @bindable model;

    constructor() {
        console.log("using bindable", this);
    }
}

这可能吗?

1 个答案:

答案 0 :(得分:5)

<compose model.bind="item"会在您的视图模型中调用方法activate(model)并为您提供item

// the model received here is the *item* from the above <compose
activate(model){
   this.model = model;
}

如果你想在绑定中传递多个模型,你可以做

<compose model.bind="{item: item, value: value}"

然后你得到:

activate(model){
    this.item = model.item;
    this.value = model.value;
}