2015-06-15 4 views
0

У меня есть следующий код в одном из моих контроллеров.Сохранение значения области из хранилища cookie на странице обновления

$scope.artistId = $cookies.artistId; 

$scope.artistName = $cookies.artistName; 

$scope.switchArtist = function(artist) { 

    $scope.artistName = ''; 
    $scope.artistId = ''; 

    $scope.artist = artist; 

    $cookies.artistName = artist.name; 
    $cookies.artistId = artist.id; 

    $scope.artistName = artist.name; 
    $scope.artistId = artist.id; 

    $rootScope.$broadcast(ARTIST_EVENTS.switchedArtist); 

}; 

Тогда на мой взгляд, у меня есть

{{ artistName }} 

Когда я вызвать $ scope.switchArtist(); функция, которая работает. Однако, когда я обновляю страницу $ scope.artistName, она снова теряет значение в моем представлении.

[править]

Я использую angularjs 1.3.14

+0

Какую версию углового вы используете? Я считаю, что это имеет значение, связанное с $ cookie. –

+0

Извинения, я должен был включить это, я использую 1.3.14 @ArthurFrankel –

+0

Хммм .. тогда точечная нотация в порядке. Я бы проверил следующее: 1) попробуйте в другом браузере; 2) Создайте еще одну функцию, которую вы можете вызвать с помощью нажатия кнопки, и посмотрите, есть ли значение $ cookies.artistId перед обновлением страницы; 3) используйте хромированные инструменты и проверьте свои файлы cookie. Дайте мне знать, если вы не знаете, как сделать последнее. –

ответ

1

Я считаю, что вам нужно использовать .get и .Put за $ печенье вместо регулярной точечной нотации. Вы можете увидеть здесь, в 1.4 version docs, - предположим, что это то, что вы используете.

Смежные вопросы