为什么在用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
是该指令匹配的jqLite-wrapped元素。 attrs
是一个具有标准化属性名称及其对应属性值的键值对的散列对象。 你可以在这里找到它的文档。 所以要关键htmlElement实体 - 获取第一个成员的集合
链接地址: http://www.djcxy.com/p/19403.html上一篇: Why use element[0] instead of element when creating AngularJS directive with d3?