Я внедряю $ состояние следующим образом:
constructor(private $state: ng.ui.IStateService, private $scope: any) {}
У меня есть значение $state
, для полной загрузки которого требуется несколько микросекунд.После этого я хочу выполнить функцию, но значение в $state
не обновляется в $watch
:
public $onInit() {
console.log(this.$state.current.name);
this.$scope.$watch(name, () => {
console.log(this.$state.current.name);
// call function
});
setTimeout(() => {
console.log(this.$state.current.name);
}, 500);
}
Вывод:
панель инструментов.tasks.overview.details
dashboard.tasks.overview.details
dashboard.tasks.overview.details.information
Как вы можете видеть значение дляthis.$state.current.name
одинаковы в onInit
и $watch
, хотя $watch
обнаруживает изменение значения name
.На setTimeout
значение изменяется.