 often different behaviors. Making a selector configurable can leak the implementation details of a component out of its unit.</p>
<pre><code class=language-javascript>// AVOID
var BadInput = {
    view: function(vnode) {
        return m(&quot;div&quot;, [
            m(&quot;label&quot;),
            m(vnode.attrs.type || &quot;input&quot;)
        ])
    }
}</code></pre>
<p>Instead of making selectors dynamic, you are encouraged to explicitly code each valid possibility, or refactor the variable portion 