我正在使用带有最新TypeScript的AngularJS v1.2.29。我在不重新加载页面的情况下将参数添加到路径时遇到问题。我已经找到了对此here的解决方案,因此它涉及app.js中的重载方法。
app.js
app.run(['$route', '$rootScope', '$location', function ($route, $rootScope, $location) {
var original = $location.path;
$location.path = function (path, reload) {
if (reload === false) {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
}
return original.apply($location, [path]);
};
}])
问题是,在应用程序的其余部分中,我使用的是TypeScript,因此出现诸如“构建:提供的参数与调用的任何签名都不匹配”之类的错误。我知道我应该添加这个新方法的签名,因为TypeScript看不到它。但是我不知道添加它的正确位置。
在我的一个控制器中的使用
$location.path("Boo", false);