Viewure与Aurelia抛出错误

时间:2018-06-08 21:57:52

标签: aurelia aurelia-framework

尝试将 ViewSlot 注入基于骨架的esnext项目,浏览器中会显示以下错误。我刚刚使用基于 systemjs CLI 创建了一个简单的项目,我看到了同样的事情。

vendor-bundle.js:1398 Unhandled rejection Error: Error invoking ViewSlot. Check the inner error for details.
Inner Error:
Message: Cannot set property ‘viewSlot’ of undefined``

从修改后的CLI生成的应用程序中,这再现了我在真实应用程序中看到的同样问题

import { BoundViewFactory, ViewSlot, customAttribute, templateController, inject } from 'aurelia-framework';

@inject(ViewSlot)

export class App {
    constructor(viewSlot) {
        this.message = 'Hello World!';

        this.viewSlot = viewSlot;

    }
}

1 个答案:

答案 0 :(得分:1)

我认为问题在于ViewSlot应该与自定义元素一起使用,而不是与页面一起使用。将ViewSlot注入自定义元素时没有任何问题,但是当我尝试在页面组件上使用它时,它每次都失败。

问题是ViewSlot实例需要将锚节点传递给它,但页面没有锚节点。 Aurelia为undefined属性传递anchor,然后ViewSlot尝试设置未定义值的viewSlot属性,但失败。