2016-04-06 5 views
2
document.getElementById('test').addEventListener('options-changed', function() { 
     document.getElementById('getContent').generateRequest(); 
    }); 

上記の例は完全に正常です。しかし、私がgenerateRequest();をカスタム要素に使用しようとすると、何も起こりません。エラーはありません。トリガーポリマーiron-ajaxリクエストを手動で

Polymer({ 
     is: 'vplan-table', 

     properties: { 
      options: { 
       reflectToAttribute: true, 
       notify: true, 
       observer: '_optionsChanged' 
      } 
     }, 
     _optionsChanged: function() { 
      //generateRequest not working! 
      document.querySelector('#getContent').generateRequest(); 
      console.log('options changed'); 
     } 
    }); 

ありがとうございました!

+1

'document.querySelector( '#getContent')。generateRequest()'の代わりに 'this。$。getContent.generateRequest()'を使ってみましたか? – Alan

+0

それはうまく動作します。どうもありがとう!しかし、私も働いています。私は、単にメインページから古いajaxコードを削除するのを忘れてしまった。要求は機能しましたが、データバインディングは機能しませんでした。だから、これは私自身のダムの間違いだった。 –

+1

Polymer要素のコードで 'querySelector'を' document'に直接使用すると、同じ要素の複数のインスタンスを同時に使用すると期待通りに機能しない可能性があるため、私が言及したコードを使用することをお勧めします – Alan

答えて

1

アランのソリューションが動作します! document.querySelector('#getContent').generateRequest()の代わりにthis.$.getContent.generateRequest()を使用してください。ありがとうございますAlan

関連する問題