AngularJS在指令中监视变量

时间:2014-05-29 14:05:18

标签: angularjs angularjs-directive angularjs-scope angular-local-storage

我有一个问题。 我正在使用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 个答案:

答案 0 :(得分:4)

这应该有效:

$scope.$watch(function() {
    return localStorageService.get('localStorageKey');
}, function(value) {
    console.log(value);
});