$ routeProvider,多次单击相同的链接

时间:2015-10-14 10:58:51

标签: angularjs route-provider

下面是我的部分angularJS代码,它实现了routeprovider

   TicketApp.config(function ($routeProvider) {
   $routeProvider
    // route for Create Ticket Page
    .when('/CreateTicket', {
        templateUrl: '../Ticket/Create',
        controller: 'CreateCtrl'
    })

    // route for Open Ticket Page
    .when('/OpenTickets', {
        templateUrl: '../Ticket/MyTickets',
        controller: 'MyTicketsCtrl'
    })

     // route for All Users Search Page
    .when('/SearchUsers', {
        templateUrl: '../Account/AllUsers',
        controller: 'AllUsersCtrl'
    })
..........

当用户多次点击SAME链接时,只有 第一次单击发出一个AJAX请求,后续请求 不要。

需要修改的内容以便后续对SAME链接的请求也可以进行AJAX调用。

编辑:

我还在下面添加了代码

TicketApp.run(function ($rootScope, $templateCache, $location) {
$rootScope.$on('$routeChangeStart', function (event, next, current) {

$templateCache.remove(current.templateUrl); 

});
});

对我不起作用.. :(

2 个答案:

答案 0 :(得分:0)

为什么要执行Ajax请求?从服务器加载模板只需要一个请求。没有必要多次加载它,因为它不应该更改,或者您的体系结构不是真正符合Angular。

您可能会使 templateCache 无效并强制Angular重新加载模板。

答案 1 :(得分:0)

这可能适用于您的情况。当用户点击按钮(ajax调用start)时,只需在AJAX调用返回响应然后显示它(按钮)后隐藏它(按钮)。