从ngRoute / $ routeProvider迁移到ui-router / $ urlRouterProvider

nshew13

我想开始使用Angular的ui-router而不是ngRoute。最初,我的应用配置看起来像

myApp.config(["$routeProvider",
    function($routeProvider) {
        $routeProvider
            .when("/search", {
                templateUrl: "partials/customerSearch.html"
            })
            .when("/home", {
                templateUrl: "partials/home.html"
            })
            .when("/login", {
                templateUrl: "partials/login.html",
                controller:  "LoginCtrl"
            })
            .otherwise({
                redirectTo: "/home"
            })
        ;
    }
]);

我换出了库,并更改了配置。我知道我仍然可以使用$routeProvider,但这似乎是一个旧的解决方法。

myApp.config(["$urlRouterProvider", "$stateProvider",
    function($urlRouterProvider, $stateProvider) {
        $urlRouterProvider
            .when("/search", "partials/customerSearch.html")
            .when("/home",   "partials/home.html")
            .when("/login",  "partials/login.html")
            .otherwise("/home")
        ;
        $stateProvider
            .state({
                name:        "customer",
                url:         "/customer/:username",
                templateUrl: "partials/customer.html"
            })
            .state({
                parent:      "customer",
                name:        "details",
                url:         "/details",
                templateUrl: "partials/customerDetails.html"
            })
        ;

    }
]);

这给了我似乎表明$digest被卡在循环中的错误。我怀疑这条.otherwise("/home")规则。handler是否正确指定了s,就像它们是模板URL一样?

如果我将.when()s注释掉,除了,其他任何方法都不会起作用"/customer/:username"是否必须为每条路线都定义一个状态?如果是这样,同时拥有$urlRouterProvider和有$stateProvider什么意义?问的不同,每个人应该做什么?

厚脸皮

这是我之前做的一个基本示例,在ui-router配置中使用名称分隔的控制器,并使用一个嵌套路由(第二个选项卡):http : //plnkr.co/edit/2DuSin?p=preview

template:可以更改为templateUrl:指向HTML文件。

var app = angular.module('plunker', ['ui.bootstrap', 'ui.bootstrap.tpls','ui.router']);
app.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
    .state('state1', {
      url: "/",
      template: 'Hello from the first Tab!',
      controller: 'FirstCtrl',
      data:{}
    })
    .state('state2', {
      url: "/route2",
      template: 'Hello from the 2nd Tab!<br>' +
                '<a ui-sref="state2.list">Show List</a><div ui-view></div>',
      controller: 'SecondCtrl',
      data: {}
    })
      .state('state2.list', {
        url: '/list',
        template: '<h2>Nest list state</h2><ul><li ng-repeat="thing in things">{{thing}}</li></ul>',
        controller: 'SecondCtrl',
        data: {}
      });
});

控制器:

app.controller('FirstCtrl', ['$scope', '$stateParams', '$state',  function($scope,$stateParams,$state){

}]);

app.controller('SecondCtrl', ['$scope', '$stateParams', '$state', function($scope,  $stateParams, $state){
    $scope.things = ["A", "Set", "Of", "Things"];
}]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从ngRoute / $ routeProvider迁移到ui-router / $ urlRouterProvider

来自分类Dev

从ngRoute迁移到ui-router

来自分类Dev

ui-router的$ urlRouterProvider。否则,使用HTML5模式

来自分类Dev

测试angular-ui-router $ urlRouterProvider中的怪异行为

来自分类Dev

Angular ngRoute / UI-Router奇怪的重定向行为

来自分类Dev

Angular UI-Router $ urlRouterProvider。当我单击<a ui-sref="...">时不起作用

来自分类Dev

Angular UI-Router $ urlRouterProvider。当$ state忽略处理程序结果时

来自分类Dev

angular-ui-router始终重定向到$ urlRouterProvider.otherwise

来自分类Dev

AngularJS UI-Router:错误地将$ urlRouterProvider中的URL路径解释为参数

来自分类Dev

AngularJS将子状态参数插入$ urlRouterProvider(UI-Router)

来自分类Dev

ui-router中是否有等效于Angular的ngRoute的“ resolve”功能

来自分类Dev

ngRoute无法加载$ routeProvider定义的视图

来自分类Dev

AngularJS 1.2.9 ngRoute“ requireJS的未知提供程序$ routeProvider错误

来自分类Dev

AngularJS 1.2.9 ngRoute“ requireJS的未知提供程序$ routeProvider错误

来自分类Dev

ngRoute / $ routeProvider如何保留视图和控制器?

来自分类Dev

尝试从路由器迁移到Iron-Router

来自分类Dev

当我尝试使用ngRoute时出现未定义错误$ routeProvider

来自分类Dev

在 angular 中,同时使用 ngRoute 和 ui.grid 作为依赖项会使页面变为空白

来自分类Dev

迁移到cakephp-4后,在外壳中找不到Cake \ Routing \ Router

来自分类Dev

使服务在ngRoute中可用

来自分类Dev

ngRoute错误,版本冲突

来自分类Dev

Angular ngRoute条件.when()

来自分类Dev

Angular ngRoute conditional .when()

来自分类Dev

ngRoute与动画滚动冲突

来自分类Dev

Angularjs中的ngroute

来自分类Dev

ngRoute模块加载失败

来自分类Dev

无法让 ngRoute 正确路由

来自分类Dev

NgRoute 不可用

来自分类Dev

角度stateParams到控制器$ urlRouterProvider

Related 相关文章

  1. 1

    从ngRoute / $ routeProvider迁移到ui-router / $ urlRouterProvider

  2. 2

    从ngRoute迁移到ui-router

  3. 3

    ui-router的$ urlRouterProvider。否则,使用HTML5模式

  4. 4

    测试angular-ui-router $ urlRouterProvider中的怪异行为

  5. 5

    Angular ngRoute / UI-Router奇怪的重定向行为

  6. 6

    Angular UI-Router $ urlRouterProvider。当我单击<a ui-sref="...">时不起作用

  7. 7

    Angular UI-Router $ urlRouterProvider。当$ state忽略处理程序结果时

  8. 8

    angular-ui-router始终重定向到$ urlRouterProvider.otherwise

  9. 9

    AngularJS UI-Router:错误地将$ urlRouterProvider中的URL路径解释为参数

  10. 10

    AngularJS将子状态参数插入$ urlRouterProvider(UI-Router)

  11. 11

    ui-router中是否有等效于Angular的ngRoute的“ resolve”功能

  12. 12

    ngRoute无法加载$ routeProvider定义的视图

  13. 13

    AngularJS 1.2.9 ngRoute“ requireJS的未知提供程序$ routeProvider错误

  14. 14

    AngularJS 1.2.9 ngRoute“ requireJS的未知提供程序$ routeProvider错误

  15. 15

    ngRoute / $ routeProvider如何保留视图和控制器?

  16. 16

    尝试从路由器迁移到Iron-Router

  17. 17

    当我尝试使用ngRoute时出现未定义错误$ routeProvider

  18. 18

    在 angular 中,同时使用 ngRoute 和 ui.grid 作为依赖项会使页面变为空白

  19. 19

    迁移到cakephp-4后,在外壳中找不到Cake \ Routing \ Router

  20. 20

    使服务在ngRoute中可用

  21. 21

    ngRoute错误,版本冲突

  22. 22

    Angular ngRoute条件.when()

  23. 23

    Angular ngRoute conditional .when()

  24. 24

    ngRoute与动画滚动冲突

  25. 25

    Angularjs中的ngroute

  26. 26

    ngRoute模块加载失败

  27. 27

    无法让 ngRoute 正确路由

  28. 28

    NgRoute 不可用

  29. 29

    角度stateParams到控制器$ urlRouterProvider

热门标签

归档