如何在不更改URL的情况下使用UI路由器?

时间:2015-09-07 02:46:55

标签: angularjs angular-ui-router

我使用这个示例使用角度UI状态路由器: http://plnkr.co/edit/IzimSVsstarlFviAm7S7?p=preview。路由器看起来像每个州都有不同的网址:

 // HOME STATES AND NESTED VIEWS ========================================
        .state('home', {
            url: '/home',
            templateUrl: 'partial-home.html'
        })

        // nested list with custom controller
        .state('home.list', {
            url: '/list',
            templateUrl: 'partial-home-list.html',
            controller: function($scope) {
                $scope.dogs = ['Bernese', 'Husky', 'Goldendoodle'];
            }
        })

        // nested list with just some random string data
        .state('home.paragraph', {
            url: '/paragraph',
            template: 'I could sure use a drink right now.'
        })

        // ABOUT PAGE AND MULTIPLE NAMED VIEWS =================================
        .state('about', {
            url: '/about',
            views: {
                '': { templateUrl: 'partial-about.html' },
                'columnOne@about': { template: 'Look I am a column!' },
                'columnTwo@about': { 
                    templateUrl: 'table-data.html',
                    controller: 'scotchController'
                }
            }

        });

我想在不更改网址的情况下实现UIrouter:当我更改状态时,网址会发生变化。假设我正在尝试创建一个页面,我必须添加参数,如何传递参数?

1 个答案:

答案 0 :(得分:-1)

你做不到。只有一种方法是自定义路由实现。我曾经做过一次这样的事情。所有子页面的所有容器都是固定的。使用$ http post动态加载内容。通过监听容器的可见ID来检测变化。很多愚蠢的工作。最容易使用ui - 路由。