Страница загружается ajax'ом.
При первоначальной загрузке отрабатывает как надо (бутстрапится ангуляр, по таймауту обновляется сообщение внутри div'а).
Но если уйти в другой таб и вернуться, не генерится view: вместо сообщения (message из $scope) вижу placeholder:
{{message}}
Решил форсировать, через $scope.$apply(), но оно не работает как надо, сообщение в div'е не обновляется.
Как починить? Мб я где-то грубо ошибся?
<div id="hello" ng-controller="MyController">
message: {{message}}
</div>
<script>
angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
$scope.message = "Waiting 2000ms for update.";
setTimeout(function () {
$scope.$apply(function () {
$scope.message = "Timeout called!";
});
}, 2000);
}]);
angular.element(document).ready(function() {
try {
console.log('Bootstrap!');
angular.bootstrap(document, ['myApp']);
} catch(err) {
console.log('Already bootstrapped!');
var $scope = angular
.element(document.getElementById('hello'))
.scope();
setTimeout(function () {
$scope.$apply(function () {
$scope.message = "Timeout called!";
});
}, 2000);
}
});
</script>