获取带角度的数据属性值

时间:2015-01-14 14:03:09

标签: angularjs angularjs-scope custom-data-attribute

我试图以角度来获取data-attributes元素的值。我的控制器是这样的:

控制器代码:

(function() {

  'use strict';

  var app = angular.module('myApp');

  app.controller('globalCtrl', function ($scope) {

      var dataPreview = document.getElementsByClassName('element');


      $scope.item = {
        name: dataPreview.getAttribute("data-branch"),
        shortname: dataPreview.getAttribute("data-short-name")

      };

  });

}(window, window.angular));

但是控制台会返回以下错误:

dataPreview.getAttribute不是函数

我试图找到这个错误的解决方案,有人可以告诉我我的代码有什么问题

2 个答案:

答案 0 :(得分:2)

使用类选择器时,需要迭代元素。

例如:

var dataPreview = document.getElementsByClassName('element')[0];
// here 0 index element will be selected and then only you'll be able to use 
//  getAttribute method

如果你使用id,那么你不需要迭代:

var dataPreview = document.getElementById('element');

答案 1 :(得分:0)

带数据属性的简单html标记

<div class="branchUI" data-branch="some branch">I'm ok here</div>

我通过querySelector将按钮添加到按钮,然后获取与下面相同的数据属性

var branchUI = angular.element( document.querySelector( '.branchUI' ) );
console.log( branchUI.data( 'branch' ) );