当我使用以下内容时:
$location.path('/product/ninja-game'); //No error in console but the path isn't changed
路径没有改变,但是当我使用以下内容时它会起作用:
$location.path('/product/ninja_game');
angularjs路径中是否有特定于连字符/短划线字符的内容。我在文档中找不到任何具体内容。
代码:
$scope.buildProductDetails = function(product) {
var tempTitle = product.title.toLowerCase();
tempTitle = tempTitle.replace(/adobe/g, "").trim();
tempTitle = tempTitle.replace(/\s+/g, '-'); //replacing space with hyphen
console.log(tempTitle);
$location.path('/product/' + tempTitle);
}
答案 0 :(得分:6)
连字符/破折号应该不是问题
问题可能在变量tempTitle
。
对$location.path('/product/ninja-game');
之类的路径进行硬编码,然后检查变量tempTitle
中是否存在问题。