本文将介绍URL哈希爆炸的详细情况,特别是关于#!/前缀而不是Angular1.6中的简单哈希的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Ang
本文将介绍URL哈希爆炸的详细情况,特别是关于#!/前缀而不是Angular 1.6中的简单哈希的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Angular 2从网址中删除哈希(#)、Angular 2单击ngClass,如何仅应用于SELF而不是ALLF中的所有元素、angular – 如何使用UI-Router阻止持久性URL锚链接哈希值?、Angular 下载属性重定向到 url 而不是下载的知识。
本文目录一览:- URL哈希爆炸(#!/)前缀而不是Angular 1.6中的简单哈希(#/)(url_hash)
- Angular 2从网址中删除哈希(#)
- Angular 2单击ngClass,如何仅应用于SELF而不是ALLF中的所有元素
- angular – 如何使用UI-Router阻止持久性URL锚链接哈希值?
- Angular 下载属性重定向到 url 而不是下载
URL哈希爆炸(#!/)前缀而不是Angular 1.6中的简单哈希(#/)(url_hash)
我上AngularJS网址项目已经从改变localhost:3000/admin#/
到localhost:3000/admin#!/
自上次我在我的项目工作…
在网络上找不到任何东西,有人知道这是什么吗?
答案1
小编典典它是AngularJS 1.6的新增功能,它添加了新的哈希前缀。
由于aa077e8,用于$location
哈希爆炸URL的默认哈希前缀已从空字符串(''''
)更改为爆炸(''!''
)。如果您的应用程序不使用HTML5模式或正在不支持HTML5模式的浏览器上运行,并且您尚未指定自己的哈希前缀,则客户端URL现在将包含一个!
前缀。例如,mydomain.com/#/a/b/c
URL将变为mydomain.com/#!/a/b/c
。
如果要删除此前缀,请将以下代码添加到配置中:
appModule.config([''$locationProvider'', function($locationProvider) { $locationProvider.hashPrefix('''');}]);
Angular 2从网址中删除哈希(#)
我正在尝试从Angular 2中的网址中删除#号,但找不到如何在不产生任何问题的情况下删除它的任何好的解释。
我记得在AngularJS 1上添加起来比较容易 $locationProvider.html5Mode(true);
如果您能告诉我这是否是一种好的做法(删除#)或可能会影响应用程序的SEO(或对其进行改进),我也将不胜感激。
PS:我正在将Angular 2与打字稿一起使用
答案1
小编典典正如@Volodymyr Bilyachat指出的那样,这PathLocationStrategy
是Angular2中的默认位置策略,并且如果#
url中存在,则一定是在某处被覆盖了。
在模块提供程序旁边,检查模块导入,也可以通过提供{ useHash: true }
作为第二个参数来覆盖它RouterModule.forRoot
:
imports: [ ... RouterModule.forRoot(routes, { useHash: true }) // remove second argument]
另请注意,在使用时,PathLocationStrategy
您需要配置Web服务器index.html
以为所有请求的位置提供服务(应用程序的入口点)。
Angular 2单击ngClass,如何仅应用于SELF而不是ALLF中的所有元素
以下代码可以正常工作,因为我想在ng-repeat中单击并翻转一张卡片
<divng-repeat="let card of cards"> <divng-ng-click="isflipped = !isflipped"> </div> </div>
然而在Angular 2中
单击时,它会翻转ngFor循环中的每个“卡”…如何仅将ngClass条件绑定到元素本身?
<div*ngFor="let card of cards"> <div[ngClass]="{'flipped': isflipped }" (click)="isflipped = !isflipped;"> </div> </div>
<div*ngFor="let card of cards"> <div[ngClass]="{'flipped': card.isflipped }" (click)="card.isflipped = !card.isflipped;"> </div> </div>
angular – 如何使用UI-Router阻止持久性URL锚链接哈希值?
> https://example.com/blah/blech
> https://example.com/blah/blech#specifications
> https://example.com/blah/derp
如果我从URL中带有散列的路由转到没有散列的路由,则散列仍然存在.例如,通过菜单从/ blah / blech#specifications到/ blah / derp会产生/ blah / derp#specifications的浏览器地址.显然这是不正确的,实际上有些限制,例如当我返回/ blah / blech并且哈希值仍然存在时,将窗口发送到该锚点位置.
另一个副作用是以某种不可预测的方式刷新页面.从/ blah / derp转到/ blah / blech#specifications会导致整页刷新.
设置相当标准:
export let derpState: Ng2StateDeclaration = { name: 'derpState',component: DerpComponent,url: '/derp' }
如何将哈希链接与UI-Router 2结合使用,效果良好? (或者,我如何以其他方式使用带有UI-Router的锚链接?)
解决方法
import { ModuleWithProviders } from '@angular/core'; import { Routes,RouterModule } from '@angular/router'; import { DerpComponent } from './derp.component'; const derp: Routes = [ { path: 'derp',component: DerpComponent } ]; export const derpState: ModuleWithProviders = RouterModule.forChild(derp);
试试这个.希望这会帮助你.
Angular 下载属性重定向到 url 而不是下载
如何解决Angular 下载属性重定向到 url 而不是下载?
我正在尝试使用我的 href 标签从链接下载,但它会将我带到 URL 而不是下载实际文件。这是我的 ts:
public getCiCdInputFromUser(value: any) {
this.userService.getCicdFile(value).subscribe((test => {
this.specificationUrl = test;
console.log(test);
}));
}
这是我的 html:
<a
mat-raised-button
color="accent"
[href]="specificationUrl"
download="specificationUrl"
>
Download CICD File
</a>
我的 service.ts:
getCicdFile = (language: string): Observable<Cicdlanguage> => {
const headers = new HttpHeaders().set(''Content-Type'',''text/plain; charset=utf-8'');
return this.http
.post<Cicdlanguage>(`${environment.apiUrl}/cicd`,{language},{ headers,responseType: ''text'' as ''json'' })
.pipe(
catchError(err => {
console.log(''error'',err);
return EMPTY;
})
);
}
和我的 CicdLanguage:
export class Cicdlanguage {
public language: string;
}
我将我的规范 Url 设置为假设要下载的链接,但它会在新选项卡中打开文件
我尝试下载的文件是 Yaml 文件
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
关于URL哈希爆炸和#!/前缀而不是Angular 1.6中的简单哈希的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Angular 2从网址中删除哈希(#)、Angular 2单击ngClass,如何仅应用于SELF而不是ALLF中的所有元素、angular – 如何使用UI-Router阻止持久性URL锚链接哈希值?、Angular 下载属性重定向到 url 而不是下载等相关知识的信息别忘了在本站进行查找喔。
本文标签: