首页 > 解决方案 > AngularJS中ui路由器状态中的动态视图名称

问题描述

我有一个ui-view

    <div ui-view="filtersView_ModalA" class="filter-container"></div>

现在,我想制作通用路线,以便今后,如果需要实施任何新的 filterView,例如,

    <div ui-view="filtersView_ModalB" class="filter-container"></div>

我的route也能处理。

我从 stateParams.prodType.

    .state('Modal.tabs', {
        url: .......,
        views: {

            'filtersView_{{stateParams.prodType}}@Modal.tabs': {
                templateUrl: function(stateParams) {
                // stateParams.prodType works here
                .....

            },

它不工作。

我也试过,'filtersView_' + stateParams.prodType + '@Modal.tabs' : {

没有任何效果。

或者,can I declare a constant and concat the values in view names?

难道我做错了什么?

标签: javascriptangularjsangular-ui-router

解决方案


不,您不能编写视图名称。

但是您可以使用不同状态的命名视图来做到这一点。您可以指定应在视图中以哪种状态呈现哪个组件。在文档中查看更多信息:https ://github.com/angular-ui/ui-router/wiki/Nested-States-and-Nested-Views

还有这个条目:https ://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views


推荐阅读