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

看起来你在用D3创建指令时必须使用element[0] ,例如,如下所示:

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

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

顺便说一句,任何关于此事的官方参考文献都会大有帮助。

非常感谢你。


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

  • scope是一个角度范围对象。
  • element是该指令匹配的jqLit​​e-wrapped元素。
  • attrs是一个具有标准化属性名称及其对应属性值的键值对的散列对象。
  • 你可以在这里找到它的文档。 所以要关键htmlElement实体 - 获取第一个成员的集合

    链接地址: http://www.djcxy.com/p/19403.html

    上一篇: Why use element[0] instead of element when creating AngularJS directive with d3?

    下一篇: AspectJ load time weaving not working on Spring beans