我是Angular的新手。我开始用ver。 2.
我需要链接到file://...
网址。
我尝试了正常href
:
注意:app
是网络的模型对象,用于处理应用程序。
<a target="_blank" href="file://{{app.outputPath}}/index.html">no link here</a>.
这不起作用 - 链接就在那里,网址正确,但Angular似乎以某种方式阻止了这个事件。为什么呢?
所以我见过ng-href
,但那是Angular 1.x.我可以说there's no *ngHref
。所以这只是一个天真的尝试:
<a target="_blank" *ngHref="file://{{app.outputPath}}/index.html">over a directive</a>.
此外,我已经看到了一些路由,但似乎只适用于应用程序中的内部链接:
<a [router-link]="['/staticReport', {path: app.outputPath}]">see the report</a>.
app.component.ts:
@RouteConfig([
...
{path:"/staticReport/:path", redirectTo: 'file:// ???? ' }
])
创建外部链接的方法是什么?
答案 0 :(得分:14)
我认为app
被指定为异步。您可以使用Elvis operator:
<a target="_blank" href="file://{{app?.outputPath}}/index.html">no link here</a>.
当Angular在app
实际拥有值之前尝试解析时,不会破坏绑定。
<强>原始强> 这例如:
@Component({
selector: 'my-app',
template: `
<h2>Hello {{name}}</h2>
<a target="_blank" [href]="'file://' + outputPath + '/index.html'">no link here</a>
`
})
export class App {
outputPath:string = 'www.google.com';
constructor() {
this.name = 'Angular2';
}
}
实际上,你的第一个例子也可以正常工作
<a target="_blank" href="file://{{outputPath}}/index.html">no link here</a>