将数据属性转换为范围值的正确方法

时间:2015-07-23 14:06:05

标签: angularjs

所以使用常规jquery,我可以这样做:

var = variable.data('data-attribute');

使用Angular执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点,你甚至应该使用上面写的jQuery命令来读取数据属性。在控制器内执行此操作即可。我使用jQuery是为了可读性,你应该使用jQueryLite甚至是Vanilla Javascript。

在您的控制器中:

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.expando = $( "#testId" ).data( "test" ); 
}); 

并在您看来:

<p id="testId" data-test="this is expando attr">Hello {{name}}, {{expando}}!</p>

例如,请参阅plunker

这个hovewer(也许)不是最好的解决方案!更合适的应该是使用指令。可能该属性是您在Javascript函数中读取的内容,用于对DOM执行某些操作,并且指令是重用更改DOM的组件的有条理方式。

因此,在您未指定data-attribute的使用情况之前,您的问题无法获得更好的答案。