AngularJS смотреть переменную в директиве

У меня есть одна проблема. Я использую модуль Angular localStoragee для хранения настроек, которые я установил в контроллере:

localStorageService.set('localStorageKey','Add this!');

Это работает очень хорошо, но как я могу наблюдать localStorageKey за изменениями в директиве, которая принимает его значение в качестве параметра?

Я попробовал что-то вроде:

.directive('fooBar', function(localStorageService){
    var linker = function(scope, element, attrs){

        var unit = localStorageService.get('localStorageKey');
        $watch('unit', function(){
            console.log(unit);
        });

    }

    return {
        restrict: 'AE',
        scope: {
            value: '@dataValue'
        },
        replace: true,
        link: linker
    }
});

Но не повезло, я не думаю, что могу смотреть переменные, как это. Как я могу решить эту проблему?

Благодарю.

1 ответ

Решение

Это должно работать:

$scope.$watch(function() {
    return localStorageService.get('localStorageKey');
}, function(value) {
    console.log(value);
});
Другие вопросы по тегам