2016-07-28 71 views
0

這不是來自屬性的功能。是否有可能將論點傳遞給聚合物行爲?

裏面一個聚合物元件,我有這樣的事情:

this.$.register.addEventListener('iron-form-presubmit', 
        function() { 
         //Hides the element... 
         this.$$('#js-error-username-invalid, #js-error-message').setAttribute('style', 'display:none'); 
         //Removes the invalid attribute 
         setInvalid(this.root, false); 
        }); 

       //What to do when a form returns an error, such as the username does not exist. 
       this.$.register.addEventListener('iron-form-error', function (event) { 
        //Sends invalid to everyone. 
        setInvalid(this.root, true); 
        console.log(event); 
        this.$$("#js-error-message").removeAttribute('style'); 
        this.$$("#js-error-message").innerHTML = event.detail.request.xhr.response.error_description 
       }); 

現在我想定義上一個單獨的文件具有這樣的功能的行爲:

_setError : function(query) { 
      var elems = Array.prototype.slice.call(Polymer.dom(this.root).querySelectorAll(query)); 
      elems.forEach(function(element) { 
       element.setAttribute('invalid', ''); 

      }); 
     } 

所有那些querySelectors,我想將它們作爲參數傳遞,這樣我就可以在我有表單的任何地方重複使用這個邏輯。我試着挖掘一些文件,但我還沒有找到任何幫助我的東西。

回答

0

答案是如此簡單:

如果你的行爲:

MyBehavior.FormSubmit = { 
     _hello : function(ma) { 
      alert(ma); 
     }, 

就這樣稱呼它:

MyBehavior.FormSubmit_hello("Hi :D"); 
相關問題