Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义元素中的Aurelia绑定为空_Aurelia - Fatal编程技术网

自定义元素中的Aurelia绑定为空

自定义元素中的Aurelia绑定为空,aurelia,Aurelia,以下是我的自定义元素: import {bindable, inject, noView, ViewCompiler, ViewSlot, Container, ViewResources} from 'aurelia-framework'; import _findIndex from 'lodash/findIndex'; let view = '<require from="./menu-bar-dd-item"></require>' +

以下是我的自定义元素:

import {bindable, inject, noView, ViewCompiler, ViewSlot, Container, ViewResources} from 'aurelia-framework';
import _findIndex from 'lodash/findIndex';

let view = '<require from="./menu-bar-dd-item"></require>' +
            '<require from="./menu-bar-link-item"></require>' +
            '<ul class="nav navbar-nav">';

@noView
@inject(ViewCompiler, ViewSlot, Container, ViewResources)
export class MenuBar {
    @bindable router;

    constructor(vc, vs, container, resources){

        this.menuItems = [];

        this.createView();

        let viewFactory =  vc.compile(view, resources),
            view = viewFactory.create(container, this);

        vs.add(view);
        vs.attached();
    }

    createView() {...}
}
import{bindable,inject,noView,ViewCompiler,ViewSlot,Container,ViewResources}来自'aurelia framework';
从“lodash/findIndex”导入findIndex;
让视图=“”+
'' +
“
    ”; @小说 @注入(ViewCompiler、ViewSlot、容器、ViewResources) 导出类菜单栏{ @可绑定路由器; 构造函数(vc、vs、容器、资源){ this.menuItems=[]; 这是createView(); 让viewFactory=vc.compile(视图,资源), view=viewFactory.create(容器,this); vs.add(视图); vs.附加(); } createView(){…} }
我是这样使用它的:

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

不知何故,
这个.router
(如果我在
MenuBar
的构造函数中放置一个断点)总是
null


提前感谢。

您需要将任何依赖于
路由器设置的代码放入
绑定
附加的
回调中。Aurelia绑定引擎没有机会绑定到构造函数中的
路由器


组件生命周期回调列表如下:

您需要将依赖于
router
设置的任何代码放入
bind
attached
回调中。Aurelia绑定引擎没有机会绑定到构造函数中的
路由器

组件生命周期回调的列表如下所示: