我有点担心在我的Angular应用程序中使用硬编码的路由字符串。这看起来有点不对劲! e.g。
this._router.navigate(['dashboard/customer', customer.CustomerId]);
path: 'customer', component: CustomerComponent,
有解决方法吗?
答案 0 :(得分:2)
在路由模块中为路由器路径定义一个静态变量,然后在整个应用程序中使用它。例如:
定义路径路径:
export class AppRoutes {
public static CUSTOMER: string = "customer";
public static ERROR: string = "error";
}
路线配置:
const routes: Routes = [
{
path: AppRoutes.CUSTOMER, component: CustomerComponent
}
];
导航:
this._router.navigate(["/" + AppRoutes.CUSTOMER, customer.CustomerId]);
答案 1 :(得分:1)
我们已经命名了路线,但是当Angular处于Beta状态时(或者它是RC),这个概念就死了。
您可以使用包含路径属性的全局对象来执行此操作,也可以使用函数执行此操作。
import { routes } from '../global-settings';
// with strings
this._router.navigate([routes.dashboard.customer, customer.CustomerId]);
// with functions
this._router.navigate(routes.dashboard.customer(customer.CustomerId));