瀏覽代碼

Merge pull request #550 from Tom-Julux/stop-setting-attribute-to-same-value

Don't modify attribute if set to the current value
Caleb Porzio 5 年之前
父節點
當前提交
85ea64f764
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      src/directives/bind.js

+ 8 - 2
src/directives/bind.js

@@ -67,8 +67,14 @@ export function handleAttributeBindingDirective(component, el, attrName, express
         if ([null, undefined, false].includes(value)) {
             el.removeAttribute(attrName)
         } else {
-            isBooleanAttr(attrName) ? el.setAttribute(attrName, attrName) : el.setAttribute(attrName, value)
-        }
+            isBooleanAttr(attrName) ? setIfChanged(el, attrName, attrName) : setIfChanged(el, attrName, value)
+        } 
+    }
+}
+
+function setIfChanged(el, attrName, value) {
+    if(el.getAttribute(attrName) != value){
+        el.setAttribute(attrName, value)
     }
 }