Как создать ссылку на внешний URL в Angular 2
Я новичок в Angular. Я начинаю с Вер. 2.
Мне нужно связаться с file://...
URL-адрес.
Я пробовал нормально href
:
Примечание: app
является модельным объектом интернета, который имеет дело с приложениями.
<a target="_blank" href="file://{{app.outputPath}}/index.html">no link here</a>.
это не работает-ссылка есть, с правильным URL, но угловой, кажется, блокирует событие каким-то образом. Почему?
Я видел ng-href
но это для углового 1.х. И нет *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:// ???? ' }
])
Как создать внешнюю ссылку?
1 ответов
предполагаю app
назначается async. Вы можете обойти это, используя оператор Элвис:
<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>