视图中具有异步数据的组件中的 Aurelia 组件

Aurelia component in components with async data from view

我有一个包含组件的视图,该组件有一个子组件。该视图从我们的服务器获取数据。第一个组件为一些自定义属性实现双向绑定,它的子组件做类似的事情,使用已经被父操作的数据。无论如何,当应用程序启动时,视图的组件可以呈现获取的绑定数据。组件的组件失败。我想我需要更新绑定,检查某些事件,或者等到视图在 attach() 之前收到数据。我不确定后者是否看起来最好,因为可以设置组件和子组件的样式以显示正在发生的事情,而不是在获取时仅阻塞整个视图。我找到了这个,http://blog.williamhayes.org/2016/03/aurelia-custom-element-async-life-cycle.html;但是,导入对我来说失败了。

如何让视图为组件提供异步数据,而异步数据又为子组件提供结果?

我相信您正在寻找 activate() 挂钩。你可以return一个Promise,视图会等待数据。例如:

activate() {
   return this.service.getSomeData()
      .then(data => {
         this.propertyThatIsBoundToChildComponent = data;
      });
}

更多信息请见http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet/7

我不记得导入失败的原因;但是,需要注意的是 CompositionTransaction 技术确实解决了这个问题。当结合可绑定装饰器和 changeHandlers 的使用时,它提供了理想的解决方案。 http://blog.williamhayes.org/2016/03/aurelia-custom-element-async-life-cycle.html