gpt4 book ai didi

javascript - Angular 2 : replace component element entirely

转载 作者:行者123 更新时间:2023-11-30 15:56:24 25 4
gpt4 key购买 nike

我环顾四周似乎找不到正确的答案......这应该是非常微不足道的......并且到处都有记录......只是似乎找不到它......

所以,我有一个非常非常简单的组件/指令,叫做 navItem

我是这样调用它的

<ul>
<nav-item route="/aboutus">About us</nav-item>
<nav-item route="/contactUs">Contact us</nav-item>
</ul>

这是里面的内容 (nav-item.html):

<li><a [routerLink]="route"><ng-content></ng-content></a></li>

所以基本上我只有这个:

import { Component, Input } from '@angular/core';
import { ROUTER_DIRECTIVES } from '@angular/router';

@Component({
moduleId: module.id,
selector: 'nav-item',
template: require('./nav-item.html'),
directives: [ROUTER_DIRECTIVES]
})
export class NavItem {
@Input() route = '/';


constructor(){}
}

我得到的是

<ul>
<nav-item _ngcontent-xng-6="" route="/aboutus" ng-reflect-route="/aboutus"><li><a ng-reflect-router-link="/aboutus" ng-reflect-href="/aboutus" href="/aboutus">About us</a></li></nav-item>
<nav-item _ngcontent-xng-6="" route="/contactus" ng-reflect-route="/contactus"><li><a ng-reflect-router-link="/aboutus" ng-reflect-href="/contactus" href="/contactus">Contact us</a></li></nav-item>
</ul>

这当然是我不想要的。

我想要的是替换<nav-item> </nav-item>完全与<li><a></a></li>

在 AngularJs 中这非常简单。

最佳答案

这不受支持,我很确定将来不会。 replace: true 在 Angular1 中也被弃用了很长一段时间。

你可以做的是使用像这样的属性选择器

@Component({
moduleId: module.id,
selector: '[nav-item]',
template: require('./nav-item.html'),
directives: [ROUTER_DIRECTIVES]
})
export class NavItem {
@Input() route = '/';


constructor(){}
}
<a [routerLink]="route"><ng-content></ng-content></a>

像这样使用它

<ul>
<li nav-item route="/aboutus">About us</li>
<li nav-item route="/contactUs">Contact us</li>
</ul>

关于javascript - Angular 2 : replace component element entirely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38458052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com