访问Shadow root中的节点

时间:2014-10-14 19:21:49

标签: dart dart-html shadow-dom

我的自定义元素定义为:

class purchaseLines extends HtmlElement {
  static final tag = 'purchase-lines';
  factory purchaseLines() => new Element.tag(tag);

  var shadow, innerDiv;

  purchaseLines.created() : super.created() {
     var shadow = this.createShadowRoot();      
     innerDiv = new cardFonix()..width='310px'..height ='80px';

   var LineNumber = new InputFonix('serial#')..iw=20;
   var LineItem = new InputFonix('item code');
   var LineQty = new InputFonix('Qty')..type='number';
   var lRDD = new InputFonix('R. Delivery')..type='date';

   innerDiv.container.nodes..add(LineItem)..add(LineQty)..add(lRDD); 

   shadow.nodes.add(innerDiv);
   }
 }

并正确显示所需内容,如附件中所示。

我正在尝试读取已输入多少行卡,以及每张卡中每个项目的值。

  1. 为了读取行数卡,我使用了以下语句,并且其功能正常。

    打印(this.parent.nodes.length);

  2. 我在读取每个卡片/自定义元素中的元素值时出现问题,而且我无法深入了解nodes.nodes ...并且出现此错误

    • 'Node'中没有这样的getter'length'
  3. 如何读取阴影中每个项目的值?我在DART中找到了shadowRoot,但不确定它是否与我的问题或其他事情相关,我用Google搜索,并没有找到答案:(

    ![developer tool output][1]
    

    enter image description here

1 个答案:

答案 0 :(得分:0)

秘密在 shadowRoot

我可以使用以下代码访问它:

this.parent.nodes[0].shadowRoot.nodes