Error composing bindable: Unhandled promise rejection TypeEr

Error composing bindable: Unhandled promise rejection TypeError: Cannot read property 'router' of null

本文关键字:promise rejection TypeEr Unhandled composing bindable Error      更新时间:2023-09-26

在上次更新到aurelia框架之前,我曾经能够替换

<nav-bar router.bind="router"></nav-bar>

<compose view-model="./nav-bar" model.bind="router"></compose>
app.html of skeleton-navigation

这个不再工作了。未处理的承诺拒绝TypeError: Cannot read property 'router' of null

事实上,我的所有作曲都不能使用升级后的aurelia。现在作曲有问题吗?

导航栏有一个用@bindable装饰器装饰的router属性。没有办法使用compose将导航栏自定义元素的router属性绑定到应用视图模型的router属性。

总的来说,compose@bindable是不相关的特征。没有办法翻译这个:

<my-custom-element my-bindable-property.bind="foo"></my-custom-element>

:

<!-- no way to bind "my-bindable-property"... binding to "model" is not going to help -->
<compose view-model="./my-custom-element"></compose>

试着把你的撰写改成:

<compose view="./nav-bar.html"></compose>

你也可以删除nav-bar.js——它不会被使用。

为了将对象传递给compose Custom Element,我必须这样设置元素:

<compose view-model="./nav-bar" model.bind="router"></compose>

,然后使用activate方法在模型中分配该对象:

export class NavBar {
  activate(router){
    this.router = router;
  }
}

正如Jeremy指出的compose@bindable不再一起工作…