AngularJS:从指令内访问数据的值

时间:2016-01-26 17:00:46

标签: javascript angularjs angularjs-scope angular-directive

我正在尝试访问ng-repeat后执行的指令内的数据绑定值。

这是我的HTML:

<div ng-repeat="(version, data) in versions" rszvers>
  <div class="hidden_div">{{version}}</div>
  <div><p>{{data.opts.a}}</p></div>
  <div><p>{{data.opts.b}}</p></div>
  <div><p>{{data.opts.c}}</p></div>
</div>

我的指示:

 .directive('rszvers', function() {
  return function(scope, element, attrs) {
    var p = element.find("p").contents();
    angular.forEach(p, function(value, key) {
      console.log(key);
      console.log(value.textContent);
    });
  };
 })

我尝试使用value.textContent(在控制台中显示正确的值)访问<p>的值,但当然我只检索{{data.opts.a}}。 我试图评估或解析这个绑定没有运气。

我知道必须有一个简单的方法来做到这一点,但我无法解决这个问题。 你能否详细说明我所缺少的内容以及如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您可以通过scope访问它,例如:

.directive('rszvers', function() {
  return function(scope, element, attrs) {
   console.log(scope.data.opts.a, scope.data.opts.b, scope.data.opts.c);
 });