如何基于用户显示/隐藏导航元素';使用Aurelia的s状态

如何基于用户显示/隐藏导航元素';使用Aurelia的s状态,aurelia,Aurelia,我对奥雷莉亚很陌生,我喜欢这条曲线的每一分钟。我正在使用Aurelia的es6应用程序框架导航,目前我正在开发一个简单的应用程序,用户在提供某些细节后登录并提交故事。我的应用程序流程相当简单: Login Screen --> Screen where user provides phone number --> User submit's story 我的导航栏有“主页”和“提交故事”。但是,我想隐藏“提交故事”菜单项,直到用户提供了他的电话号码。所以基本上在电话号码提交上,如果

我对奥雷莉亚很陌生,我喜欢这条曲线的每一分钟。我正在使用Aurelia的es6应用程序框架导航,目前我正在开发一个简单的应用程序,用户在提供某些细节后登录并提交故事。我的应用程序流程相当简单:

Login Screen --> Screen where user provides phone number --> User submit's story
我的导航栏有“主页”和“提交故事”。但是,我想隐藏“提交故事”菜单项,直到用户提供了他的电话号码。所以基本上在电话号码提交上,如果函数返回true,我需要显示菜单项

我认为有两种方法可以做到这一点。一种是根据是否提交电话号码,将导航项绑定为真值或假值,另一种是在成功提交电话号码时动态添加路由。哪一个更好用?我非常希望能朝着正确的方向推进

我尝试给路线分配一个布尔变量,但结果不一。请参阅下面的代码(我只包含了相关代码):

我还尝试动态添加路线,但不起作用:

configureRouter(config, router) {
    config.title = 'Aurelia';
    config.map([
        {route: ['', 'home'], name: 'home', moduleId: 'home', nav: check_phone, title: 'Home'},
    ]);
    config.mapUnknownRoutes('/');
    this.router = router;
}

phone_submit() {
    if(success) 
        this.router.addRoute({route: 'story', name: 'story', moduleId: 'story', nav: true, title: 'Submit a Story'})
        this.router.refreshNavigation();
}

请在这方面帮助我。谢谢你抽出时间

路由上实际上有一个设置属性。可以将“设置”属性设置为可以在其中进行操作的对象。渲染路线时可以使用此对象,如果导航栏具有特定属性,则可以将其隐藏

e、 g。 {route:user/:id', 名称:用户, moduleId:'./Aurelia/users, 导航:错, 标题:“用户”, 设置:{isShown:true} }

查看我关于链接的文章,该主题更全面地解释了如何使用设置属性


路由上实际上有一个设置属性。可以将“设置”属性设置为可以在其中进行操作的对象。渲染路线时可以使用此对象,如果导航栏具有特定属性,则可以将其隐藏

e、 g。 {route:user/:id', 名称:用户, moduleId:'./Aurelia/users, 导航:错, 标题:“用户”, 设置:{isShown:true} }

查看我关于链接的文章,该主题更全面地解释了如何使用设置属性

configureRouter(config, router) {
    config.title = 'Aurelia';
    config.map([
        {route: ['', 'home'], name: 'home', moduleId: 'home', nav: check_phone, title: 'Home'},
    ]);
    config.mapUnknownRoutes('/');
    this.router = router;
}

phone_submit() {
    if(success) 
        this.router.addRoute({route: 'story', name: 'story', moduleId: 'story', nav: true, title: 'Submit a Story'})
        this.router.refreshNavigation();
}