2015-09-11 53 views
1

我想通過我2個動畫頁面聚合物,發送可變我設置成另一種元素

我有一些代碼來備份到頁面上,同時持有的動畫頁面之間設置一個字符串來切換不同的事件掉期交易,並設置我想給像這樣

_onElementClick: function(event) { 
      this.$.dataId = event.detail.data.id; 
      this.$.pages.selected = 1; 
     }, 

的ID,這樣的pages.selected改變頁面完全正常,如果我登錄這一點。$。數據ID是正確的值,howeber此頁我是上試圖將這個$ dataId轉換爲像這樣的另一個元素

<my-polymer-full dataId="dataId"></my-polymer-full> 

,並用它在元素像

<div>[[dataId]]</div> 

和我有元素將其設置像

 properties: { 
     dataId: { 
      type: String 
     }, 

,這似乎並沒有工作。我是聚合物新手,並且不確定我做錯了什麼。

回答

1

嘗試使用屬性時,不應使用節點選擇器this.$。相反,考慮的元素設置屬性值本身喜歡:

_onElementClick: function(event) { 
    this.dataId = event.detail.data.id; 
    this.$.pages.selected = 1; 
} 

然後使用一個或雙向數據綁定到這些屬性綁定到你想在喜歡使用它們的元素的性質:

<my-polymer-full data-id="[[dataId]]"></my-polymer-full> 

重要的是,請注意使用data-id。這是您需要表示由任何自定義Polymer元素髮布的camelCase屬性的方式。那可能是你最初的主要問題。

+0

嘿@瑞奇,謝謝!這就像一個魅力,我只是在學習聚合物。你會碰巧知道一個地方,我可以閱讀/瞭解更多關於這個?我瀏覽了他們的1.0文檔,並沒有看到這一點,但完全有可能我錯過了這一點。再次感謝! – ajmajmajma

+1

太棒了!文檔不會放棄這種行爲,但應該看起來很足夠 - 「要綁定到元素的駱駝屬性,請在屬性名稱中使用短劃線」請參見https:// www。 polymer-project.org/1.0/docs/devguide/data-binding.html#property-binding。 – Ricky