Angular JS UI-Router在同一页面上重新加载并在新标签中打开链接

时间:2017-01-25 07:52:25

标签: javascript jquery html angularjs angular-ui-router

我的主页面中有一个Navbar。每当我右键单击任何链接(exp:添加公司)并在新标签中打开它时,它会在新标签页中显示仪表板页面,当我在添加时也会显示除了仪表板以外的公司或更新公司页面,我只需重新加载页面,重新加载后它仍会显示仪表板页面。

我想,当我在“添加公司”页面上并刷新时,它仍会显示相同的页面(“添加公司页面而不是仪表板”)以及“在新标签页中打开”的相同内容。

我的主页看起来像这样:

<ul class="navigation navigation-main navigation-accordion">
   <li class="navigation-header"><span>Main</span> <i class="icon-menu"></i></li>
   <li ng-class="{active : isActive('/dashboard')}"><a ui-sref="dashboard" contextmenu="customMenu"><i class="icon-home4"></i> <span>Dashboard</span></a></li>
   <li ng-class="{active : isActive('/addCompany')}"><a ui-sref="addCompany"><i class="icon-plus3"></i> <span>Add Company</span></a></li>
   <li ng-class="{active : isActive('/updateCompany')}"><a ui-sref="updateCompany"><i class="icon-pencil"></i> <span>Update Company</span></a></li>
</ul>

路由通过UI-Router定义为:

app.config(function($stateProvider, $urlRouterProvider) {

$urlRouterProvider.otherwise('/dashboard');

$stateProvider

    // Home route
    .state('dashboard', {
        url: '/dashboard',
        views: {
            '': { 
                    templateUrl: 'views/dashboard.html' ,
                    controller : 'WelcomeCtrl'
                },
            'columnOne@dashboard': { 
                templateUrl: 'views/home.html',
                controller: 'homeController'
            }
        }
    })

    // Update Company
    .state('updateCompany', {
        url: '/updateCompany',
        views: {
            '': { 
                    templateUrl: 'views/dashboard.html' ,
                    controller : 'WelcomeCtrl'
                },
            'columnOne@updateCompany': { 
                templateUrl: 'views/updateCompany.html',
                controller: 'updateController'
                }
        }
    })

    // Add Company
    .state('addCompany', {
        url: '/addCompany',
        views: {
            '': { 
                    templateUrl: 'views/dashboard.html' ,
                    controller : 'WelcomeCtrl'
                },
            'columnOne@addCompany': { 
                templateUrl: 'views/addCompany.html',
                controller: 'addListController'
            }
        }
    });
 });

更新:

当我从路径文件中删除此代码时:

app.config(['$locationProvider', function($locationProvider) {
   $locationProvider.html5Mode({
   enabled: true,
   requireBase: false
  });
}]);

删除此代码后,我的整个问题已得到解决,但现在网址如下:

  

http://localhost:8080/#!/dashboard

我不希望在网址中显示#。

0 个答案:

没有答案