$ locationChangeStart的行为与我预期的不同

时间:2015-02-25 10:32:11

标签: javascript angularjs routes

我将routeProvider配置为:

.when('/countries', {
  templateUrl: 'countries.html',
  controller: 'CountriesController'
})

所以当我转到/countries时,CountriesController会加载,它首先要做的是通过向API发送$ http请求来获取国家/地区列表。

到目前为止一切正常。

现在,当用户尝试转到另一个链接时,我首先要确认他们是否确定以及是否没有preventDefault():

$scope.$on('$locationChangeStart', function (event) {
    var response = confirm('Sure?');

    if(!response){
        event.preventDefault();
    }
});

preventDefault正在运行,但$ http请求带来的内容消失了。

任何想法?

1 个答案:

答案 0 :(得分:0)

$ scope。$ on(' $ locationChangeStart',function(event){     var response = confirm('当然?');

if(!response){
    event.preventDefault();
}

});

检查从响应变量

获得的内容