如果您有一个 Controller 来操作 Angular.js 中的 $scope 变量,是否有一种惯用的方法:
对于复杂的 Controller ,不必将每个变量都重置为其初始值会非常方便,特别是如果您真正想要的是 Controller 和范围的简单重新初始化。通过
$location.path()
再次导航到相同的 URL不过,没有帮助。编辑:假设我不能使用任何
$window.location
hack,因为这会违反 Chrome 打包应用程序中的 CSP。
最佳答案
刚问完,我终于找到了一种使用 $route.reload()
的方法来解决这个问题。 .
myapp.Controller('SampleController', function($location, $route) {
$scope.navTo = function(url) {
if ($location.path() === url) {
$route.reload();
} else {
$location.path(url);
}
}
});
我仍在想,必须有一些更优雅的解决方案,但这绝对适合我。
关于javascript - 重新初始化 Angular.js Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17413760/