Javascript 如何路由到同一位置以重新启动视图和控制器绑定(angularjs)?

Javascript 如何路由到同一位置以重新启动视图和控制器绑定(angularjs)?,javascript,angularjs,Javascript,Angularjs,实际上,我想要这样的location.path(location.url())但是默认情况下角度不允许这样做。有没有办法覆盖它 我需要这个来更新视图和控制器绑定 为什么? 因此,我的模型陈述如下: $scope.instance = { City: gettextCatalog.getString(cityName), Country: gettextCatalog.getString(countryName), } 因此,如果我更改一种语言,$scope.instance将

实际上,我想要这样的
location.path(location.url())但是默认情况下角度不允许这样做。有没有办法覆盖它

我需要这个来更新视图和控制器绑定

为什么?

因此,我的模型陈述如下:

$scope.instance = 
{
    City: gettextCatalog.getString(cityName),
    Country: gettextCatalog.getString(countryName),
}

因此,如果我更改一种语言,
$scope.instance
将不会重新计算。我认为,在重新路由时重新绑定比在函数中插入每个“实例”更简单,这些“实例”将在语言更改后被调用。

是否尝试使用$scope.$apply()?

是否尝试使用$scope.$apply()

从路线的角度看

导致$route服务重新加载当前路由,即使$location没有更改。
因此,ngView创建新的作用域并重新实例化控制器

从路线的角度看

导致$route服务重新加载当前路由,即使$location没有更改。
因此,ngView创建新的作用域并重新实例化控制器


如果您使用的是ngRoute

$route.reload()
$route用于将URL深度链接到控制器和视图(HTML) 部分)。它监视$location.url(),并尝试将路径映射到 现有路线定义

重新加载(); 导致$route服务重新加载当前路由,即使$location 没有改变。 因此,ngView创建了新的作用域并重新实例化 控制器

如果您使用的是ui.router

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

如果您使用的是ngRoute

$route.reload()
$route用于将URL深度链接到控制器和视图(HTML) 部分)。它监视$location.url(),并尝试将路径映射到 现有路线定义

重新加载(); 导致$route服务重新加载当前路由,即使$location 没有改变。 因此,ngView创建了新的作用域并重新实例化 控制器

如果您使用的是ui.router

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

是否要重新加载当前路由?@User2,是的。请尝试$route.reload()是否要重新加载当前路由?@User2,是的。请尝试$route.reload()是的,我尝试过。首先,它导致错误“rootScope.inprog”。第二,无论如何,这不是一个舒适的解决方案,因为我在页面上有几个控件,包括视图和控制器,我需要同时刷新它们。这意味着如果选择
$apply()
方式,我应该手动对页面上的每个控件执行此操作。嗯,改道更简单。是的,我试过了。首先,它导致错误“rootScope.inprog”。第二,无论如何,这不是一个舒适的解决方案,因为我在页面上有几个控件,包括视图和控制器,我需要同时刷新它们。这意味着如果选择
$apply()
方式,我应该手动对页面上的每个控件执行此操作。嗯,改道更简单。