在使用d3创建AngularJS指令时,为什么要使用element [0]而不是element?

JBT*_*JBT 7 javascript d3.js angularjs

在使用element[0]D3创建指令时似乎必须使用,例如,如下所示:

app.directive('firstTry', function () {
    function link(scope, element, attrs) {
        var sampleSVG = d3.select(element[0])
        ...
Run Code Online (Sandbox Code Playgroud)

那么,为什么element[0]element呢?这个名字element表明它是一个单个对象而不是一个数组,但显然情况并非如此.另一个问题:这element还有什么?

顺便说一下,关于这件事的任何官方参考都会有很大帮助.

非常感谢你.

Vas*_*huk 3

想要修改 DOM 的指令通常使用该link选项。link接受具有以下签名的函数,function link(scope, element, attrs) { ... }其中:

  • scope是一个 Angular 范围对象。
  • element是该指令匹配的 jqLit​​e 包装元素。
  • attrs是一个哈希对象,具有规范化属性名称及其对应属性值的键值对。

您可以在此处的文档中找到它。因此,要关键 htmlElement 实体 - 获取集合的第一个成员