AngularJs范围 - 如何正确地从DOM获取范围?

时间:2014-11-20 14:46:56

标签: javascript html angularjs

我有一个自定义指令,它有自己独立的范围:

angular.module('app').directive('custom', function(){
    return {
      scope: {
        text: '@'
      },
      link: function(scope, element){
        alert(scope.$id);
        alert(element.scope().$id);
      }
    }
  })

它绑定到单个h1标记:<h1 custom text="Hello Plunker!"></h1>

有人可以解释一下为什么我在第一次和第二次警报时获得不同的范围值吗? 有没有办法使用DOM元素和范围()调用来获取我的隔离范围?

提前致谢

以下是一个示例:http://plnkr.co/edit/mdLS5eZAqw4YBWwLZWbo

1 个答案:

答案 0 :(得分:2)

scope指的是指令的范围,一个孤立的范围。

element.scope()指的是与该元素相关联的范围。

要通过element获取隔离范围,您可以致电element.isolateScope()