这个插件是vuelidate研究了它大半天,完全基于es6的写法,写的很酷炫,对于部分核心函数代码,没看懂。。就如下面的例子 const buildFromKeys = (keys, fn, keyFn) => keys.reduce((build, key) => {
build[keyFn ? keyFn(key) : key] = fn(key) return build
}, {})
const computedRules = buildFromKeys(validationKeys, (key) => { const rule = validations[key]
return mapValidator(rootVm, rule, key, parentVm, parentProp)
}, mapDynamicKeyName) const validationVm = new Vue({
data: {
dirty: false,
dynamicKeys
},
methods: defaultMethods,
computed: {
...computedRules,
...defaultComputed
}
})就单纯考虑 computed中的...computedRules来看,我也看过了 es6中关于...拓展运算符的用法,还是没搞懂,为什么它这里可以成功运行呢。假如有人 研究过这个 开源插件 就更好啦,希望可以和你多请教点问题, 谢谢~
添加回答
举报
0/150
提交
取消