angular - Angular2 beta 中的路由器链接行为被破坏

标签 angular typescript1.7 angular2-directives

我想突出显示当前事件的链接

<a [routerLink]="['/route']" />

渲染后我得到一个<a>带有正确链接的标签,效果很好。

但该指令中还有其他行为,应将router-link-active类添加到 anchor ,以防href与当前位置相同。

问题是这效果不佳。

get isRouteActive(): {
    return this._router.isRouteActive(this._navigationInstruction);
}

_router.IsRouteractive内部有一个当前指令字段,其中应包含当前路由组件。该组件与 __navigationInstruction 进行比较。实际上,如果路由组件相等 - 链接是最新的。

问题是当前指令为空。它被分配在:<​​/p>

Router.prototype.commit = function(...)

处理指令后调用此函数。

所以这永远不会运作良好。

最佳答案

我一直在做这样的事情:

<li [class.active]="somethingThatReturnsTrueOrFalse()"><a [routerLink]="['/About']" class="link">About</a></li>

这对于我的主菜单来说似乎效果很好: http://www.syntaxsuccess.com/angular-2-samples/#/demo/spreadsheet

关于angular - Angular2 beta 中的路由器链接行为被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34439711/

相关文章:

javascript - 尽可能创建最简单的 typescript 定义文件

Angular 指令从元素中删除原始属性

javascript - Angular 2 使用 *ngFor 和 ngIf 隐藏第一个元素

从 node_modules Angular 延迟加载

angular - 数字输入上的 ngModel

angular - "async"管道不呈现流更新

javascript - 如何实现 Typescript 异步等待模式 : Where is the Promise

typescript - Typescript 1.8 是否需要引用路径声明?

angular - 单击 Angular 7 中的另一个组件时从 mat-table 传递数据行

javascript - 如何在 AngularJS 中使用 pickaday 指令禁用当前和 future 日期