* [jsfm] fix the computed classList issue in legacy framework
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d7537b29 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d7537b29 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d7537b29 Branch: refs/heads/0.16-dev Commit: d7537b291549d2c1c107d7760f0d9948d55fb48d Parents: d239389 Author: Hanks <zhanghan...@gmail.com> Authored: Fri Jul 28 14:53:38 2017 +0800 Committer: Hanks <zhanghan...@gmail.com> Committed: Fri Jul 28 14:53:38 2017 +0800 ---------------------------------------------------------------------- html5/frameworks/legacy/vm/directive.js | 7 +++++++ 1 file changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d7537b29/html5/frameworks/legacy/vm/directive.js ---------------------------------------------------------------------- diff --git a/html5/frameworks/legacy/vm/directive.js b/html5/frameworks/legacy/vm/directive.js index 42cc04a..fec7252 100644 --- a/html5/frameworks/legacy/vm/directive.js +++ b/html5/frameworks/legacy/vm/directive.js @@ -232,6 +232,12 @@ function setAttr (vm, el, attr) { } function setClassStyle (el, css, classList) { + if (typeof classList === 'string') { + classList = classList.split(/\s+/) + } + classList.forEach((name, i) => { + classList.splice(i, 1, ...name.split(/\s+/)) + }) const classStyle = {} const length = classList.length @@ -253,6 +259,7 @@ function setClass (vm, el, classList) { if (typeof classList !== 'function' && !Array.isArray(classList)) { return } + console.log(` => setClass:`, classList) if (Array.isArray(classList) && !classList.length) { el.setClassStyle({}) return