0

我正在尝试从 JSON 数据构建“团队成员”页面。

我可以使用名字、姓氏、职位等基本内容创建页面。

每个团队成员都有自己的页面,其中包含更多信息

我想不通的是如何将团队成员的 url 包含到我的 [routerLink] 中。

我的路由器链接看起来像我在路由中设置的

<a [routerLink]="['./glenn']">

这就是我尝试使用它的方式

<div class="team-members" *ngFor="let teammember of teammembers" >
	<div class="clearfix">							
			<div class="col-xs-12 col-sm-8 col-md-8 col-lg-6 team-member member-item" style="cursor: pointer;">									
				<a [routerLink]="['./"{{teammember.firstName}}"']">
				<div class="member-pic-holder">
					<img alt="" src='{{teammember.photo}}' />
					<div class="member-overlay"></div>
				</div>
				<h4>{{teammember.firstName}}<br/>{{teammember.lastName}} <span class="fa fa-arrow-right"></span></h4>
				<p class="company-position">{{teammember.position}}</p>
				</a>
			</div>	
	</div>
</div>

请问对此有什么想法吗?

当我试图包含团队成员的照片时,它也很糟糕

 <img alt="" src='{{teammember.photo}}' />

然而,一次一件事!

谢谢

全球气象站

4

2 回答 2

1

您使用的{{ foo.bar }}绑定不正确,{{ }}语法允许您执行一种方式绑定,您想要的是在绑定到对象属性时使用正则 js 表达式。

绑定到 html 元素属性时,您可以使用[attr.{id|href|etc}]绑定,在您的情况下,您可以使用图像的 href:

<img alt="" [attr.href] = 'teammember.photo' />

对于路由器,只需使用[routerLink] = "[teammember.firstName]"(不确定为什么需要./,如果确实需要它,可以在团队成员类上使用 getter 附加它,如下所示。

对于您的路线,您可以执行以下操作:

团队成员班

export class TeamMember {
    // ...properties and constructor
    private memberUrl: string = "foobar"

    get MemberRoute(){
        return `./${this.memberUrl}`;
    }
}

模板:

<div class="team-members" *ngFor="let teammember of teammembers" >
    <div class="clearfix">                          
        <div class="col-xs-12 col-sm-8 col-md-8 col-lg-6 team-member member-item" style="cursor: pointer;">                                 
            <a [routerLink]="[teammember.MemberRoute']">
            <div class="member-pic-holder">
                <img [attr.href] = 'teammember.photo' />
                <div class="member-overlay"></div>
            </div>
            <h4>{{teammember.firstName}}<br/>{{teammember.lastName}} <span class="fa fa-arrow-right"></span></h4>
            <p class="company-position">{{teammember.position}}</p>
            </a>
        </div>
    </div>
</div>

希望这可以帮助!

于 2017-01-19T05:26:31.153 回答
0

你能试试这样吗:

 ['./',teammember.firstName]

供 img 使用

<img alt="" [src]="teammember.photo" />
于 2017-01-19T05:45:57.233 回答