AngularJS UI 路由器 - 更改 url 无需重新加载状态和仅更改数据

AngularJS UI Router - change url without reloading state and Change data only

我正在使用 Angular UI 路由器,我想重新加载当前状态并刷新所有数据/重新 运行 当前状态及其父级的控制器。

.state('StateData', {
                    url: '/:cityName/StateData',
                    templateUrl: BASE_URL + '/partials/StateData/StateDataItems.html',
                    controller: 'StateDataController',
                   }
                }).
.state('home', {
                    url: '/:CityName',
                    controller: 'CityName',
                    templateUrl: BASE_URL + '/partials/CityName/cityname.html',
             });

现在我在公共控制器文件中使用,在弹出 colse 后调用下面提到的函数

$state.go($state.current, {}, {reload: true});

问题: 我无法更改站点 URL;

www.site.com/CITYNAME/citydata

CITYNAME : 会动态变化。

所以 url 将

www.site.com/NY/citydata

www.site.com/DC/citydata

但页面不应刷新

您需要在$state like

中发送 CityName 参数
$state.go($state.current.name, {CityName : 'NY'}, {reload: true});