Angular: снова принудительно разрешить
Мои зависимости, которые нужно решить, зависят от данных, которые меняются. Как заставить angular разрешать зависимости снова?
$routeProvider.
when('/blah', {
templateUrl: '/static/views/myView.html',
controller: 'myCtrl',
resolve: {
theData: function(myFactory) {
return myFactory.promise;
}
}
}).
i.e, каждый раз, когда этот блок when
выполняется, я хочу повторно разрешить зависимость.
Это тривиально, или не так много?
Ответы
Ответ 1
Блок разрешения перепроверяется каждый раз при изменении маршрута. В вашем случае вам нужно каждый раз возвращать новое обещание, а не то, как вы это делаете в настоящее время. Похоже, вы кешируете и возвращаете всегда один и тот же объект обещания.
resolve: {
theData: function(myFactory) {
return myFactory.getSomething();
}
}
Заставьте myFactory.getSomething
возвращать новое обещание при каждом вызове.