2014-02-12 76 views
2

聚合物元件定義如下:如何找到元素嵌套模板

<polymer-element name="my-element"> 
    <template> 
     <template if="{{show==true}}"> 
      <div on-click="{{hideMe}}"> click to hide my div </div> 
      <div id="mydiv"> 
       my div content here 
      </div> 
     </template> 
    </template> 
</polymer-element> 

和DART代碼如下:

@CustomTag('my-element') 
@observable bool show = true; 

hideMe(){ 
    Element e = $['mydiv']; 
    e.hidden = true; 
} 

代碼不起作用爲$ [ 'mydiv' ]返回null。 如何在Dart聚合物組件中找到嵌套模板中的元素?

回答

1

你爲什麼要這麼做?當show == false時,<template if從DOM中刪除節點。 所有你需要做的就是

在HTML

`on-click='{{hide}}'` 

在DART

void hide() { 
    show = false; 
} 

如果你不想隱藏<div on-click='...>移動它的<template if=...>

提示: 如果您show字段類型的布爾可以簡化到

<template if="{{show}}"> 
+0