2017-07-25 139 views
0

伙计们!在嵌套组件中嵌套角度组件

我的问题是,我有组件嵌套在另一个组件路由组件。它是这样的:(主要组件router-outletAppComponent - > LeaderComponent - > NavigationPathComponent。在这最后一个组件中,我使用@Input()从父代中检索一些值,它在组件代码中工作,但不在模板中。

这里是我的代码:
NavigationPathComponent:

import { Component, Input } from "@angular/core"; 
@Component({ 
    selector: "navigation-path", 
    template: "{{los}}", 
    style: "irrelevant"] 
}) 

export class NavigationPathComponent { 
    @Input() los: string; 
} 

而且LeaderComponent模板中有:

<navigation-path los="someString"></navigation-path>

应该导致这里面,如果我将添加{{los}}<navigation-path>模板它应该在浏览器中输出someString,但是它不输出任何内容。虽然如果我在组件代码中注销它,它将输出someString到控制台中。

P.S.如果我将<navigation-path>移动到AppComponent模板(一个嵌套级别更高),它可以很好地工作。甚至可以在Angular中嵌套已经嵌套的组件中的组件?目前我正在开发Angular v4.2.4。

回答

0

传递时,需要在属性周围使用[]语法: 这将是[los] =“someString”。

+0

那么为什么它在组件代码中可见,但不在模板中? P.S.不幸的是,你的建议没有奏效。 :( – eLGi

+0

代码对我来说很好看,我一直使用带有html页面的templateUrl,尝试控制台使用ngOnInit初始化NavigationPathComponent时记录“los” – Wilcko

+0

问题是它有一个值,它将someString记录到控制台(或警报取决于我如何决定显示它。 – eLGi