Angularjs-在路由更改时刷新控制器作用域



想知道在路由更改时刷新控制器范围的最佳方法是什么?

任何帮助都将不胜感激!

我会重构,将作用域上所有数据属性的初始化都放在一个函数中,该函数被称为initScope(),在控制器首次运行时调用,也在$routeChangeSuccess(如果你想处理解析为同一路由的URL的更改,可能还有$routeChangeUpdate)事件上调用。

例如

app.controller('MyCtrl', ['$scope', function ($scope) {
    function initScope() {
        $scope.foo = 1;
        $scope.bar = { ram: 'ewe' };
    }
    initScope();
    $scope.$on('$routeChangeUpdate', initScope);
    $scope.$on('$routeChangeSuccess', initScope);
}

最新更新