Angularjs 如何在角度指令中从attrs.$observe传递值

Angularjs 如何在角度指令中从attrs.$observe传递值,angularjs,angularjs-directive,Angularjs,Angularjs Directive,当前,console.log(value)输出'lat'的值,但是如果我尝试在指令的其他地方访问该值,它将不起作用。我尝试将变量设置为attrs.$observe,并将attrs.$observe放在函数中。此外,由于某些原因,我无法返回数据的值。有什么想法吗 angular.module('Ski').directive('mapCanvas', function() { function link (scope, element, attrs) { attrs.$observe

当前,console.log(value)输出'lat'的值,但是如果我尝试在指令的其他地方访问该值,它将不起作用。我尝试将变量设置为attrs.$observe,并将attrs.$observe放在函数中。此外,由于某些原因,我无法返回数据的值。有什么想法吗

 angular.module('Ski').directive('mapCanvas', function() {
  function link (scope, element, attrs) {
    attrs.$observe('lat', function(data) {
      console.log(data);
    });
  }
}

只需使用
scope
var

代码

angular.module('Ski').directive('mapCanvas', function() {
  function link (scope, element, attrs) {
    scope.lat = ''; //or it can be var lat = '';
    attrs.$observe('lat', function(data) {
      scope.lat = data; //or it can be var scope.lat = '';
      console.log(data);
    });
    scope.test = function(){
       //when it gets called
       console.log(scope.lat);
    }
  }
}

希望这能对你有所帮助。谢谢。

您能否举例说明您是如何尝试在指令的其他地方访问它的?