【发布时间】:2016-04-22 06:54:03
【问题描述】:
所以我有一个奇怪的问题。这是我的路由文件(没有导入):
export var Routes = {
home: new Route({ path: '/', name: 'Home', component: Home }),
photos: new Route({ path: '/photos', name: 'Photos', component: Photos }),
albums: new Route({ path: '/albums', name: 'Albums', component: Albums }),
account: new Route({ path: '/account/...', name: 'Account', component: Account }),
albumPhotos: new Route({ path: '/albums/:id/photos', name: 'AlbumPhotos', component: AlbumPhotos }),
login: new Route({ path: '/account/login', name: 'Login', component: Login }),
register: new Route({ path: '/account/register', name: 'Register', component: Register }),
joke: new Route({ path: '/joke', name: 'Joke', component: Joke }),
team: new Route({ path: '/team/', name: 'Team', component: Team }),
editTeam: new Route({ path: '/team/:id', name: 'EditTeam', component: EditTeam }),
match: new Route({ path: '/match/', name: 'Match', component: Match }),
editMatch: new Route({ path: '/match/:id', name: 'EditMatch', component: EditMatch }),
detailMatch: new Route({ path: '/detail/:id', name: 'DetailMatch', component: DetailMatch }),
bet: new Route({ path: '/bet', name: 'Bet', component: Bet }),
editBet: new Route({ path: '/bet/:id', name: 'EditBet', component: EditBet }),
placeBet: new Route({ path: '/bet/match/:id', name: 'PlaceBet', component: PlaceBet }),
users: new Route({ path: '/account/users', name: 'Users', component: Users })
};
export const APP_ROUTES = Object.keys(Routes).map(r => Routes[r]);
这在除登录和注册页面之外的所有页面上都可以正常工作。当我进入登录页面时,登录链接仍然有效,但注册链接已禁用。
这是来自导航栏的 html sn-p:
<li *ngIf="!isUserLoggedIn()">
<a [routerLink]="[routes.login.name]"><i class="fa fa-unlock-alt fa-fw"></i> Logg inn</a>
</li>
<li *ngIf="!isUserLoggedIn()">
<a [routerLink]="[routes.register.name]"><i class="fa fa-unlock-alt fa-fw"></i> Register deg</a>
</li>
如果我去注册页面,登录和注册的链接都被禁用了......
发生了什么事?
【问题讨论】:
-
你能让它在plnkr.co/edit/EPJxvV?p=preview 中重现吗?
-
isUserLoggedIn() 返回 true 或 false,如果您已登录,则隐藏
- 元素。所以这不相关。
标签: angular twitter-bootstrap routes angular2-routing