使用$ stateprovider的正确方法是什么

时间:2016-02-13 19:01:11

标签: angularjs angular-ui-router

对Angular很新,试图弄清楚使用$ stateProvider的正确方法。

这是我当前的设置

    $stateProvider
      .state('users_orders', {
        url: '/users/:userId/orders',
        templateUrl: '/assets/orders/users/index.html',
        controller: 'UserOrdersController'
      })
      .state('users_orders_edit', {
        url: '/users/:userId/orders/:orderId/edit',
        templateUrl: '/assets/orders/users/edit.html',
        controller: 'UserOrderController'
      })
    }])

这个设置工作正常,但我想做的就是这样。

    $stateProvider
      .state('users_orders', {
        url: '/users/:userId/orders',
        templateUrl: '/assets/orders/users/index.html',
        controller: 'UserOrdersController'
      })
      .state('users_orders.edit', {
        url: '/:orderId/edit',
        views: {
         edit: {
           templateUrl: '/assets/orders/users/edit.html',
           controller: 'UserOrderController'
         }
        }
      })
    }])

此设置无效但是当我点击我的编辑链接时,它会更改网址,但会保留在同一页面上。我做错了吗?

1 个答案:

答案 0 :(得分:1)

为了使第二个解决方案有效,您应该在index.html a     <div ui-view="edit"></div>