2016-02-23 82 views
1

我使用Polymer,Html和Javascript。從一個聚合物組件調用另一個功能

我想找到任何簡單的方法來調用從一個聚合物組件到另一個聚合物組件的功能。 讓我描述一下我想達到的目標。

我有聚合物成分myComponent。在與按鈕此組件容器調用start

<button on-click="_start" id="start">XyZ</button> 

而且第二部分(讓我們說這是子組件,因爲它是myComponent,在那裏我有功能_addNew<script>部分

現在我。希望通過單擊與#start ID按鈕發射_addNew功能。 我的問題是我怎麼能叫從一個聚合物組分的功能,當該功能被放置在另一個?

我希望你明白 我。

回答

2

如果我理解正確,基本上你想要做的是從一個組件發射並在另一個組件中聆聽。

所以,如果你myComponent的火,在_start方法,如:

this.fire('add:new'); 

,然後聽添加:添加一個監聽器,對於這個特定的事件名稱新的事件在其他組件:

listeners: { 
    'add:new': '_addNew' 
}, 

如果它不夠明確,請閱讀Polymer documentation這是一個非常好的和很好解釋的文檔。

希望它有幫助。

0

在我的情況下,這是行不通的,因爲this.fire將「向上」,到父組件,而不是子組件。

在我的情況下,這一個幫助。

this.$$('component-name').function-name();

+0

當然JavaScript事件冒泡了,但我不知道用這個$$()是你最好的拍攝。這隻會有利於返回第一個元素,這是真的,現在工作,但不一定在將來。 –

+0

它應該是這樣的。$$('#'):P只是說 – TheeBen