【发布时间】:2016-12-03 04:58:37
【问题描述】:
我有一个 Aurelia 组件,它有一些我想从 API 调用初始化的属性(项目列表)。该项目列表最终将显示在 select 元素中。虽然该列表为空,但我可以显示一个空的 select(或禁用它)。
我的问题是,我应该什么时候在component lifecycle 中填充项目列表?我见过这个answer 建议attached。但我在想,因为它并不真正依赖于被附加或绑定的组件,所以我会在构造函数中这样做。
有什么优点、缺点和影响?
component.js
@inject(WebApi)
export class MyComponent {
api = undefined;
items = undefined;
/**
* Creates the component
* @param api the web API
*/
constructor(api) {
this.api = api;
this.api.getItems().then(items => {
this.items = items;
});
}
}
component.html
<template>
<div>
<select value.two-way="selectedItem">
<option repeat.for="item of items" model.bind="item">${item.id}</option>
</select>
</div>
</template>
【问题讨论】:
标签: javascript aurelia lifecycle