ルーティングの相対パスとして扱われる外部URLへのAngular2リンク

エリック

セレクターに設定されたプロパティを受け取るコンポーネントを作成しました。

<app-navigation-card
        label="My Label"
        description="Description of Item"
        type="download"
        [links]="[{path:'https://somedomain.com/somefile.zip', label:'Download'}]"
></app-navigation-card>

入力はNavigationCardクラスで設定されます。

import { Component, OnInit, Input } from '@angular/core';

@Component({
  selector: 'app-navigation-card',
  templateUrl: './navigation-card.component.html',
  styleUrls: ['./navigation-card.component.scss']
})
export class NavigationCardComponent implements OnInit {

  @Input() label: String;
  @Input() description: String;
  @Input() links: Object;
  @Input() type: String;

  constructor() { }

  ngOnInit() {
  }

}

テンプレート内:

<div class="label">{{label}}</div>
<div class="description">{{description}}</div>
<ul *ngIf="links != undefined" class="links">
  <li *ngFor="let link of links" [routerLink]="link.path">
    <span *ngIf="type == 'download'"><a href="{{link.path}}">{{link.label}}</a></span>
    <span *ngIf="type == 'navigation'" [routerLink]="link.path"><{{link.label}}</span>
    <div></div>
  </li>
</ul>

タイプの== navigation場合、ルーターは正しいコンポーネントにリダイレクトしますが、ダウンロードの場合、次のエラーが発生します。

例外:キャッチされていません(約束されています):エラー:どのルートにも一致しません。URLセグメント: 'style-guide / https%3A / somedomain.com / somefile.zip'

このURLは、リンクのhrefに明示的に入力されている場合は正常に機能しますが、プロパティバインディングを介しては機能しません。これを改善する方法はありますか?

パンカイパーカー

ファイルをダウンロードする外部URLのように見えるため、アンカータグの作成を検討する必要があります。むしろ削除して*ngIfラッパー*ngForなしの最初の要素を持っているだけspanです。

さらに、li要素に追加されたrouterLinkを削除します。これは、イベントのバブリングのためにrouter.navigate関数が起動されます。

<li *ngFor="let link of links">
    <a [attr.href]="link.path">{{link.label}}</a>
</li>

またはclick、コントローラーからイベントと呼び出し関数を使用し、を使用して新しいタブでパスを開きますwindow.open(path)ファイルが自動的にダウンロードされます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Angular2 / 4の相対パスを使用してプログラムで他のコンポーネントにルーティングする

分類Dev

相対パスとして扱われる絶対パス

分類Dev

Angular2 $ httpルーティング属性を使用してWebAPIコントローラーへのリクエストを取得

分類Dev

ドロップダウンAngular2のリストを使用してルーティングする方法

分類Dev

相対パスを使用して、SRC /メイン/リソースまたはSRC /テスト/リソースファイルへのJavadocリンク

分類Dev

Angular2ルーティング:リンクパラメータ配列に複数の要素が含まれるという条件はありますか?

分類Dev

Angular2で外部URLへのリンクを作成する方法

分類Dev

Angular2、現在のアクティブコンポーネントセレクターを取得して、cssスタイリングのクラスとしてグローバルに使用する方法

分類Dev

Angular2は、[(ngModel)]を[ngModelOptions] = "{standalone:true}"とともに使用して、モデルのプロパティへの参照にリンクします

分類Dev

Angular2は、[(ngModel)]を[ngModelOptions] = "{standalone:true}"とともに使用して、モデルのプロパティへの参照にリンクします

分類Dev

Angular2は、[(ngModel)]を[ngModelOptions] = "{standalone:true}"とともに使用して、モデルのプロパティへの参照にリンクします

分類Dev

サブディレクトリを提供しようとしているサブルート、Angular2およびExpressへのルーティングの問題

分類Dev

マットのベクトルへのポインタを作成する際に、初期化子で複合式として扱われる式リスト

分類Dev

相対位置のコンテンツラッパーがコンテンツに合わせてスケーリングされない

分類Dev

AngularJSとAngular2ルーティングを混合する際のワイルドカードパス

分類Dev

DartのAngular2のパラメーターを使用して2つ以上のルーティングレベルをネストする方法

分類Dev

フラスコルーティングと相対パス

分類Dev

{{path}}を絶対リンクではなく相対リンクとして扱うハンドルバー

分類Dev

Hibernateクエリの使用:コロンはパラメータとして扱われる/コロンをエスケープする

分類Dev

Angular2 + | NgModuleのパラメータを使用してルーティングを定義する方法

分類Dev

ghページのangular2ベースURLと相対パス

分類Dev

Angular2ルーティングはURLパスを削除します

分類Dev

Angular2の同じ要素に対するクリックリスナーとクリックイベントを含むディレクティブ

分類Dev

Angular2 のルーティングと Observables の中間ストリームのキャンセル

分類Dev

Office365アプリとAngular2ルーティングは初めてのみ機能します

分類Dev

cc1:FreeBSD8.2リリースのコンパイル時に警告がエラーとして扱われる

分類Dev

MVCサイトからAngular2アプリへのルーティング

分類Dev

Angularでの相対ルーティングの定義

分類Dev

URLを「/#!」として取得するAngularJSSPAルーティング の代わりに "#"

Related 関連記事

  1. 1

    Angular2 / 4の相対パスを使用してプログラムで他のコンポーネントにルーティングする

  2. 2

    相対パスとして扱われる絶対パス

  3. 3

    Angular2 $ httpルーティング属性を使用してWebAPIコントローラーへのリクエストを取得

  4. 4

    ドロップダウンAngular2のリストを使用してルーティングする方法

  5. 5

    相対パスを使用して、SRC /メイン/リソースまたはSRC /テスト/リソースファイルへのJavadocリンク

  6. 6

    Angular2ルーティング:リンクパラメータ配列に複数の要素が含まれるという条件はありますか?

  7. 7

    Angular2で外部URLへのリンクを作成する方法

  8. 8

    Angular2、現在のアクティブコンポーネントセレクターを取得して、cssスタイリングのクラスとしてグローバルに使用する方法

  9. 9

    Angular2は、[(ngModel)]を[ngModelOptions] = "{standalone:true}"とともに使用して、モデルのプロパティへの参照にリンクします

  10. 10

    Angular2は、[(ngModel)]を[ngModelOptions] = "{standalone:true}"とともに使用して、モデルのプロパティへの参照にリンクします

  11. 11

    Angular2は、[(ngModel)]を[ngModelOptions] = "{standalone:true}"とともに使用して、モデルのプロパティへの参照にリンクします

  12. 12

    サブディレクトリを提供しようとしているサブルート、Angular2およびExpressへのルーティングの問題

  13. 13

    マットのベクトルへのポインタを作成する際に、初期化子で複合式として扱われる式リスト

  14. 14

    相対位置のコンテンツラッパーがコンテンツに合わせてスケーリングされない

  15. 15

    AngularJSとAngular2ルーティングを混合する際のワイルドカードパス

  16. 16

    DartのAngular2のパラメーターを使用して2つ以上のルーティングレベルをネストする方法

  17. 17

    フラスコルーティングと相対パス

  18. 18

    {{path}}を絶対リンクではなく相対リンクとして扱うハンドルバー

  19. 19

    Hibernateクエリの使用:コロンはパラメータとして扱われる/コロンをエスケープする

  20. 20

    Angular2 + | NgModuleのパラメータを使用してルーティングを定義する方法

  21. 21

    ghページのangular2ベースURLと相対パス

  22. 22

    Angular2ルーティングはURLパスを削除します

  23. 23

    Angular2の同じ要素に対するクリックリスナーとクリックイベントを含むディレクティブ

  24. 24

    Angular2 のルーティングと Observables の中間ストリームのキャンセル

  25. 25

    Office365アプリとAngular2ルーティングは初めてのみ機能します

  26. 26

    cc1:FreeBSD8.2リリースのコンパイル時に警告がエラーとして扱われる

  27. 27

    MVCサイトからAngular2アプリへのルーティング

  28. 28

    Angularでの相対ルーティングの定義

  29. 29

    URLを「/#!」として取得するAngularJSSPAルーティング の代わりに "#"

ホットタグ

アーカイブ