如何从Angular.Dart组件内部引用聚合物组件

时间:2014-11-22 00:09:06

标签: dart dart-polymer angular-dart

我希望有人能引导我朝着正确的方向前进。我在Angular组件中嵌入了一个聚合物组件。我想从角度分量类中调用这种聚合物组分的方法。这是可能的,如果是的话你会怎么做呢? querySelector未被证明是成功的 ang_comp.html:

<div id='ilovePolymer'>
    <bwu-grid id='polymerGrid'></bwu-grid>
</div>

ang_comp.dart:

@Component(selector: 'ang-comp', templateUrl:'ang_comp.html')
class AngularComp {
    ......//All the goodness
    querySelector('#ilovePolymer')  returns me null here.  
    querySelector('ang-comp').shadowRoot returns nothing  
    querySelector('bwu-grid') returns nothing.  

我正在使用Angular 1.0.0,Polymer 0.15.1 + 5

1 个答案:

答案 0 :(得分:3)

谢谢Ozan。这是一个很好的建议,以下是我修复它的方法:

  • 确保将useShadowDom: true添加到组件属性。
  • Angular组件类实现shadowRootAware
  • 使用onShadowRoot meta覆盖@override

我的示例课程:

  

@Component(selector: 'ang-comp', templateUrl:'ang_comp.html', useShadowRoot: true)      class AngularComp implements ShadowRootAware {
     ... //some other stuff...
  @override
  onShadowRoot(ShadowRoot sr){

     
    

print(sr.querySelector('#polymerGrid') is bwu-grid); //This returns True! Yey!!

         
      

}
         }

    
  

顺便说一句,如果你想在AttachAware期间捕获某些内容,也可以使用attach