Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 覆盖routerLink和router.navigate_Angular_Angular Router - Fatal编程技术网

Angular 覆盖routerLink和router.navigate

Angular 覆盖routerLink和router.navigate,angular,angular-router,Angular,Angular Router,我需要在我的应用程序上支持多租户页面。也就是说,我的路线如下所示: /shop-x/products/123 /restaurant-y/products/342 现在,我想修改routerLink和router.navigate,以便能够(不更改整个代码库): 很容易创建一个新的自定义路由器来支持。根据状态导航 但我看不到一种方法可以覆盖路由器链接,根据应用程序状态,“/products/123”转换为“/shop-x/products/123”。我试图扩展routerLink指令以覆盖ge

我需要在我的应用程序上支持多租户页面。也就是说,我的路线如下所示:

/shop-x/products/123
/restaurant-y/products/342
现在,我想修改routerLink和router.navigate,以便能够(不更改整个代码库):

  • 很容易创建一个新的自定义路由器来支持。根据状态导航
  • 但我看不到一种方法可以覆盖路由器链接,根据应用程序状态,
    “/products/123”
    转换为
    “/shop-x/products/123”
    。我试图扩展routerLink指令以覆盖
    get routerLink()
    方法,但它设置了变量
    this.classes
    ,该变量是私有的,因此我无法修改它。如果我创建一个新指令,
    routerLinkActive
    指令将不起作用,依此类推。 你怎么想,怎么做
  • 我想修改此方法:

    router.navigate("/products/123")
    routerLink="/products/123"