在Angular 1. x中,我可以执行以下操作来创建一个基本上什么都不做的链接:
<a href="">My Link</a>
但在Angular 2中,相同的标签会导航到应用程序库。角2的等效值是什么?
编辑:这看起来像Angular 2路由器中的一个bug,现在github上有一个关于这一点的公开问题。
我正在寻找一个开箱即用的解决方案,或者确认不会有任何解决方案。
使用angular2有很多方法,但我强烈反对这是一个bug。我不熟悉angular1,但这似乎是一个非常错误的行为,尽管正如您所说的,在某些情况下是有用的,但显然这不应该是任何框架的默认行为。
撇开分歧不谈,您可以编写一个简单的指令来获取所有链接并检查href
的内容,如果它的长度为0,则执行预防默认值()
,这里有一个小例子。
@Directive({
selector : '[href]',
host : {
'(click)' : 'preventDefault($event)'
}
})
class MyInhertLink {
@Input() href;
preventDefault(event) {
if(this.href.length == 0) event.preventDefault();
}
}
通过在PLATFORM\u指令中添加此指令,可以使其在应用程序中工作
bootstrap(App, [provide(PLATFORM_DIRECTIVES, {useValue: MyInhertLink, multi: true})]);
这是一个plnkr示例工作。
那是一样的,它没有任何与angular2
相关的内容。它是简单的html标签。
基本上,HTML解析器将呈现一个(锚定)标记。
编辑
您可以通过在其上设置javascript:void(0)来禁用该功能,这样它就不会发生任何事情。(但它的黑客行为)。我知道Angular 1提供了这种开箱即用的功能,但现在对我来说似乎不正确。
<a href="javascript:void(0)" >Test</a>
普朗克尔
其他方法可以使用routerLink
指令,传递"
值,最终将生成空白href=""
<a routerLink="" (click)="passTheSalt()">Click me</a>
如果你有角度5或以上,只要改变
<a href="" (click)="passTheSalt()">Click me</a>
进入
<a [routerLink]="" (click)="passTheSalt()">Click me</a>
将鼠标悬停在链接上方时,链接将显示一个手形图标,单击它不会触发任何路由。
注意:如果要保留查询参数,应将queryParamsHandling选项设置为preserve:
<a [routerLink]=""
queryParamsHandling="preserve"
(click)="passTheSalt()">Click me</a>
我遇到了这个githttps://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md,它展示了开发人员如何通过添加“被动监听器”来提高滚动性能。我第一次看到它是在我的chrome向我显示警告时(确切的警告是“由于主线程繁忙,‘触摸启动’输入事件的处理延迟了126毫秒”。考虑将事件处理程序标记为“被动”,以使页面更具响应性。
有没有办法手动将formGroup设置为无效状态? 我尝试了
> 到目前为止,我使用角2快速入门创建了一个新项目。 我决定开始使用angular 2 cli,并创建了一个新的angular 2 cli项目。 移动了我的所有文件并重新安装了所有软件包。 现在,当我试图在CLI项目中使用角2材料时,我遵循了这里的指南,但这是我得到的: 会出什么问题?
我用角2,我创建一个甜甜圈图 组件的html 我想要的是将这些值作为主组件的输入进行传递。因此,假设在html上,我将该组件称为: 主HTML 组成部分js代码 因此,我的问题是如何将这些输入传递到组件的html中。
将图像转换为angular 2中的base64,图像从本地上传。当前am使用FileLoadeDevent.Target.Result。问题是,当我通过REST服务向java发送这个base64字符串时,它无法对其进行解码。当我尝试这个base64字符串与免费的在线编码器-解码器,那里我也看不到解码图像。我也试过用帆布。我没有得到适当的结果。有一件事是肯定的base64字符串什么是得到不适当的一个
问题内容: 我希望div使用CSS从右角2滑入。 如果我仅使用[ngClass]来切换类并利用不透明性,则可以正常工作。但是li不想从一开始就渲染该元素,因此我先用ngIf“隐藏”了它,但是之后过渡将无法工作。 问题答案: 更新4.1.0 柱塞 另请参见https://github.com/angular/angular/blob/master/CHANGELOG.md#400-rc1-2017-