angular-ui-router - 角 Dart : How to change partial parts of layout based on navigation?

标签 angular-ui-router dart angular-dart angular-dart-routing

假设我的 app_component.html 中有这个简单的脚手架:

<header>
    <div>
        <!-- here I have some elements that won't change -->
    </div>
    <div>
        <!-- SECTION HEADER: but I want to change this part's content, based on
             navigation or something else (auth roles, for example) -->
    </div>
</header>

<main>
    <div class="container">
        <div class="row">
            <div class="col s12">
                <section class="section">
                    <router-outlet>
                        <!-- SECTION MAIN: main content goes here -->
                    </router-outlet>
                </section>
            </div>
        </div>
    </div>
</main>
<div class="divider"></div>
<footer>
    <div>
        some footer here. nothing important
    </div>
</footer>

正如您在片段中看到的,我使用的是 <router-outlet>主要部分 显示内容很好。问题是,我怎样才能在标题部分(代码中的 SECTION HEADER )中有一个可更改的部分,以及如何根据例如更改它的内容。导航、身份验证角色等?是否 AngularDart支持这种路由吗?提前致谢。

最佳答案

简短的回答是否定的,路由器目前不支持轻松执行此操作。

其他框架通过“命名”路由器导出支持此功能。这允许多个导出存在于同一个 View 中,只要它们被赋予唯一的名称。然后,每个路由配置必须指定在哪个命名导出中呈现哪个组件。如果这听起来很可取,请随时提交功能请求:https://github.com/dart-lang/angular

当然,您总是可以编写自己的解决方案。您可以为标题部分创建一个组件,该组件动态加载不同的组件,具体取决于哪个路由处于事件状态。它只需要注入(inject) Router并收听Router.stream用于路线变更。

关于angular-ui-router - 角 Dart : How to change partial parts of layout based on navigation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48857125/

相关文章:

html - AngularDart 文本区域安全 HTML 字符串编辑器

sass - 如何在Dart上设置Angular Material 选项卡面板(及其选项卡)的样式?

javascript - Angularjs-ui-路由 : transition animation not working

javascript - 如何将 AngularJS 1.6 升级到 Angular 5

javascript - 如何获取 ui-router 状态参数?

dart - NoSuchMethodError : The method 'ancestorStateOfType' was called on null

javascript - AngularJS - 使用 ui-router 未显示嵌套 View

dart - 当我按下图标按钮时如何打开容器?

Flutter淡入淡出动画总是显示黑屏

dart - @Component vs. @ NgComponent Dart.Angular