我有一条路线来处理用户的创建,修改,查看和列表,如下所示:

angular
  .module('abcApp', ['ui.router'])
  .config(function ($stateProvider, $urlRouterProvider) {
    $stateProvider
      .state('user.add', {
        url: '/mgt/user/add',
        templateUrl: 'views/mgt_user/add.html',
        controller: 'MgtUserCtrl'
      })
      .state('user.view', {
        url: '/mgt/user/view/:userId',
        templateUrl: 'views/mgt_user/view.html',
        controller: 'MgtUserCtrl'
      })
      .state('user.list', {
        url: '/mgt/user/list',
        templateUrl: 'views/mgt_user/list.html',
        controller: 'MgtUserCtrl'
      });
  });

我想使用一种路由,可以将mode作为参数传递并获取正确的templateUrl

angular
  .module('abcApp', ['ui.router'])
  .config(function ($stateProvider, $urlRouterProvider) {
    $stateProvider
      .state('userMangement', {
        url: '/mgt/user/:mode/:userId',
        templateUrl: 'views/mgt_user/' + $routeParams.mode + '.html',
        controller: 'MgtUserCtrl'
      });
  });

mode可以是: vieweditlist

有没有办法做到这一点?

#1楼 票数:4

您可以使用templateProvider。

$stateProvider
    .state('userManagement', {
        url: '/mgt/user/:mode/:userId',
        controller: 'MgtUserCtrl',
        templateProvider: ['$route', '$templateCache', '$http', function($route, $templateCache, $http) {
            var url = '/views/mgt_user/' + $route.current.params.mode + '.html';
            $http.get(url, {cache: $templateCache}).then(function(html) {
                return html;
            });
        }]
 })

您不能在此处使用$ routeparams,因为$ routeParams在$ routeChangeSuccess事件之后可用。

  ask by amgohan translate from so

未解决问题?本站智能推荐:

2回复

使用angular-ui-router获取服务中的路由参数

使用Angular的默认路由器,您可以通过在路由中放置以下内容来解析AJAX资源: 并实现此服务: 我目前正在开发Ionic应用程序,并具有以下服务: 以及以下路线: Ionic使用angular-ui-router ,关于此问题的文档尚不清楚。 如何以与默认Angular路由
1回复

使用angular-ui-router处理404

我有一种方法的服务: 在我的app.routes.js`中: 控制器VenueController仅具有: $scope.venue = venue 一切正常,如果我手动输入带有错误的站点标记的URL,它将正确重定向到404。 问题是我在控制台中收到一个困扰我的错误:
3回复

Angular-UI-Router:ui-sref没有使用参数构建href

我有一个HTML页面,一旦在用户的浏览器中加载,'list'状态被激活,'list'部分被Angular拉出并填充了服务器列表。 每个服务器都有一个“详细信息”链接,用于指定该服务器的“详细信息”状态。 渲染时,'ui-sref'会根据路径及其可选参数生成预期的'href'网址。 单
1回复

使用angular-ui-router导航时访问初始参数值

我的应用程序的入口点是一个具有未知参数值的URL,例如: 我的简化配置如下所示: 我尝试导航到“sitenotice”并返回到index.html中的“main”: 它不起作用,因为我没有将key-Parameter传递给状态“home”。 我不知道如何访问初始值。 或者它可以以
1回复

Angular-ui-router加载具有不同参数的相同模板

目标 我们要使用相同的模板/控制器填充许多视图。 他们每个人都应该收到一个id ,该id将在不影响其他控制器的情况下加载。 我们不想使用scope: { item: '=' }在模板的.directive中的两种方式绑定。 考虑一下以这种方式加载的数千个元素(在示例中,我们只有两个元素
1回复

使用angular-ui-router覆盖命名视图模板

在root.app.work状态或/work url内,如何将其页面模板更改为<div>wtf</div> 。 更新:我不能让root.app.work.show正确路由? 转到404 HTML:
2回复

如何使用angular-ui-router重新加载状态?

如何使用angular-ui-router重新加载控制器和整个侧面? 不起作用。 唯一有效的方法是: 去另一个州然后返回。 然后,正确地重新加载视图。 没有这个hack怎么办? 问候
2回复

页面标题,使用angular-ui-router进行描述

我已经尝试/使用了stackoverflow和其他教程的所有可能的引用,但无法获取页面标题,描述工作。 我的州代码看起来像这样 在我的控制器'WelcomeCtrl'文件中,我想为页面设置页面标题和描述。 我使用过rootScope但rootScope值没有绑定在index.html文件