zoukankan      html  css  js  c++  java
  • vue-draggle源码中的策略模式和柯里化

     const optionsAdded = {};
    eventsListened.forEach(elt => {
          optionsAdded["on" + elt] = delegateAndEmit.call(this, elt);
        });
    const eventsListened = ["Start", "Add", "Remove", "Update", "End"];
    function delegateAndEmit(evtName) {
      return evtData => {
        if (this.realList !== null) {
          this["onDrag" + evtName](evtData);
        }
        emit.call(this, evtName, evtData);
      };
    }
    function emit(evtName, evtData) {
      this.$nextTick(() => this.$emit(evtName.toLowerCase(), evtData));
    }

    2.另一个方法的策略

     const optionsAdded = {};
     eventsToEmit.forEach(elt => {
          optionsAdded["on" + elt] = emit.bind(this, elt);
        });
    const eventsToEmit = ["Choose", "Unchoose", "Sort", "Filter", "Clone"];
    function emit(evtName, evtData) {
      this.$nextTick(() => this.$emit(evtName.toLowerCase(), evtData));
    }
  • 相关阅读:
    自介
    打招呼
    试验四
    作业:实验二
    个人简介
    实验4
    构建之法—心得体会
    作业:实验二
    个人简介
    软件测试第四次博客作业2
  • 原文地址:https://www.cnblogs.com/TTblog5/p/13122025.html
Copyright © 2011-2022 走看看