我有一个基于Angular的网站,我正在构建,而且我遇到了一个奇怪的错误,我完全难以接受。这是一家律师事务所。其中一个下拉菜单是律师名单。当我点击一个,他的页面加载很好。如果我去点击不同的律师,网址会更改为正确的网址,但会发生两件奇怪的事情。
1)它实际上并没有去那里。 2)整个下拉阴影就好像它的中间点击一样,似乎卡在那里。
而不是在这里屠宰代码,我认为我只是链接到网站,所以你可以看到它在行动。但是,我会将相关控制器复制到此处,因为我不确定您是否能够轻松地看到这一点。
同样,除非我在另一位律师的生物页面上点击了律师的名字,否则一切都会完美无缺。
AttorneyController.js
app.controller('AttorneyController', ['$scope', '$location', 'attorneys', '$sce', function($scope, $location, attorneys, $sce) {
var quotelist = [];
$scope.myFunctions = {};
var practiceareas = {
altdispute: "Alternative Dispute Resolution",
businesscorp: "Businesses & Corporations",
estateplanning: "Estate Planning",
futures: "Futures & Derivatives",
litigation: "Litigation",
productliability: "Product Liability",
realestate: "Real Estate",
securities: "Securities"
};
// Load bio content
$scope.myFunctions.load_bio = function(bioNum){
var urlstr = $basehref + "bio.php#/?bio_id=" + bioNum;
document.location.href = urlstr;
}
attorneys.success(function(data){
var quotelist = [];
function quoteflip(quotelist, id, total){
window.clearTimeout(timeoutQuotes);
var src1 = quotelist[id];
$("#bio_quotes").fadeOut(500, function(){
$("#bio_quotes").html(src1).fadeIn(500);
});
var idno = (id + 1) % total;
var timeoutQuotes = window.setTimeout(function(){quoteflip(quotelist, idno, quotelist.length);}, 5000);
}
if($location.search().bio_id > 0){
$scope.myFunctions.bio_id = $location.search().bio_id;
var matches = $.grep(data.attorneys, function(obj) { return obj.id == $location.search().bio_id; });
if (matches.length === 1) {
$scope.thisAttorney = matches[0];
quotelist = $scope.thisAttorney.quotes;
$("#bio_quotes").html(quotelist[0]);
}
}else{
$scope.myFunctions.bio_id = 0;
};
$scope.attorneys = data.attorneys;
$scope.practiceareas = practiceareas;
var timeoutQuotes = window.setTimeout(function(){quoteflip(quotelist, 1, quotelist.length);}, 5000);
});
}]);
要查看此操作的网址是
http://www.gelerinter.com/dev_sites/lksu
点击顶部导航栏中的ATTORNEYS并选择第一个。然后,在他的页面上,再次单击“ATTORNEYS”并选择Mitchell Goldberg。 您将看到网址更改,但所有内容都已锁定。
答案 0 :(得分:0)
请勿尝试手动设置document.location.href,而是使用路由提供程序或位置服务。