我有一个视图,其中部分内容使用路由加载另一个。这是加载另一个的部分:
enum Direction {
case east, west
func combine<T: IntegerArithmetic>(_ lhs: T, _ rhs: T) -> T {
switch self {
case .east: return lhs + rhs
case .west: return lhs - rhs
}
}
}
func example(direction: Direction, _ left: Int, _ right: Int) -> Int {
let oneOfTheCalculations = direction.combine(left, right)
let anotherCalculation = direction.combine(left, 2*right)
let andAnotherOne = direction.combine(left, 3*right)
//...
return oneOfTheCalculations
}
这里是我让我的其他组件(productDetails)加载的div:
<a href="/productDetails/{{product.ProductId}}">{{product.Name}}</a>
工作正常。但是,无论何时加载组件,托管组件都会自行刷新,我会丢失其状态。我不知道为什么会出现这种情况,因为我在AngularJS中编写了相同的应用程序并且它按预期工作。
答案 0 :(得分:1)
您应该使用routeLink属性而不是href
<a [routerLink]="['/productDetails', product.ProductId]">{{product.Name}}</a>
将路线定义更新为
{path: 'productDetails/:ProductId', component: ProductDetailsComponent