2016-07-28 42 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"); 
相关问题