LINUX.ORG.RU

Angularjs, не обновляется view при обновлениях страницы.

 


0

2

Страница загружается 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>

Но если уйти в другой таб и вернуться

ЯННП. что мсье под этим подразумевает?

ZuBB ★★★★★ ()
Ответ на: комментарий от ZuBB

Использовались табы в которые ajax'ом загружался документ (целиком, вместе с доктайпом и тэгом html). Ну и ангуляр в этом табе слегка сходил с ума - в родительском документе уже был один ангуляр. В общем починилось.

outtaspace ★★★ ()

Выбрал какашку в качестве инструмента - страдай.

<div id=«hello» ng-controller=«MyController»>

ng-controller=«MyController»

ng-controller

Сцук, она даже HTML делает невалидным! Хватит калечить мой веб!

anonymous ()
Ответ на: комментарий от anonymous

Сцук, она даже HTML делает невалидным!

Что именно тут невалидно? Можно писать через data-, но ведь и так работает прекрасно.

Хватит калечить мой веб!

Ну уж нет, страдай.

outtaspace ★★★ ()
Ответ на: комментарий от outtaspace

Что именно тут невалидно? Можно писать через data-, но ведь и так работает прекрасно.

Ты из тех людей, кто верстку даже не парится прогонять через валидатор? Мол, работает и ладно? Еще один повод не отвечать на вопрос. Таким людям не место в IT.

Ну уж нет, страдай.

Нет ты.

anonymous ()
Ответ на: комментарий от anonymous

Таким людям не место в IT.

Не тебе решать, так что страдай.

outtaspace ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.