vue 中directive功能的简单实现

2020-06-16 06:06:39易采站长站整理
Stringupdate更新directive时调用 typeof def === 'function' ? def : def.updateFunctionbind如果directive中定义了bind方法,则在 bindDirective 中会调用Functionel存储当前element元素Element

3.想办法执行指令的update方法即可,该插件使用了 Object.defineProperty 来定义scope中的每个属性,在其setter中触发指令的update方法。

核心代码


const prefix = 'sd';
const Directives = require('./directives');
const Filters = require('./filters');
// 结果为[sd-text], [sd-class], [sd-on]的字符串
const selector = Object.keys(Directives).map((name) => `[${prefix}-${name}]`).join(',');