【问题标题】:Accessing nodes in Shadow root访问影子根中的节点
【发布时间】:2014-12-09 17:05:22
【问题描述】:

我的自定义元素定义为:

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. 我在读取每个卡片/自定义元素中的元素值时遇到问题,我无法更深入地使用 node.nodes... 并收到此错误

    • 'Node' 中没有这样的 getter 'length'

如何读取阴影中每个项目的值?我在 DART 中找到了一个 shadowRoot,但不确定它是否与我的问题或其他问题有关,我尽我所能搜索,但没有找到答案:(

![developer tool output][1]

【问题讨论】:

    标签: dart dart-html shadow-dom


    【解决方案1】:

    秘密就在 shadowRoot

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

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

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      相关资源
      最近更新 更多