• dojo 官方翻译 dojo/aspect


    官网地址:http://dojotoolkit.org/reference-guide/1.10/dojo/aspect.html

    after()

    定义:after(target, methodName, advisingFunction, receiveArguments);

    意义:在target的methodName方法之后执行advisingFunction方法。

    define(["dojo/aspect"], function(aspect){
      aspect.after(dojo, "xhr", function(deferred){
        // this is called after any dojo.xhr call
      });
      // this will execute the original dojo.xhr method and then our advising function
      dojo.xhr("GET", {...});
    });
    dojo.require("dojo.aspect");
    dojo.aspect.after(dojo, "xhr", function(response){
      ...
    });

    before()

    定义:before(target, methodName, advisingFunction);

    意义:在target的methodName方法之前执行adviseingFunction。

    define(["dojo/aspect"], function(aspect){
      aspect.before(dojo, "xhr", function(method, args){
        // this is called before any dojo.xhr call
        if(method == "PUT"){
          // if the method is PUT, change it to a POST and put the method in the parameter string
          args.url += "?x-method=PUT";
          // return the new args
          return ["POST", args];
        }
      });
      // this will execute the original our advising function and then dojo.xhr
      dojo.xhr("PUT", {...});
    });

    around()

    定义:around(target, methodName, advisingFactory);

    define(["dojo/aspect"], function(aspect){
      aspect.around(dojo, "xhr", function(originalXhr){
        return function(method, args){
          // doing something before the original call
          var deferred = originalXhr(method, args);
          // doing something after the original call
          return deferred;
        }
      });
      dojo.xhr("PUT", {...});
    });
  • 相关阅读:
    onLoad和DomContentLoad的区别
    懒加载和预加载区别
    各大浏览器特点
    移动端适配
    清除浮动的方法
    rem的计算
    粗结MySql数据库基础知识点之一
    单例模式(饿汉式单例模式与懒汉式单例模式)
    关于ajax技术
    浅谈EL与JSTL
  • 原文地址:https://www.cnblogs.com/tiandi/p/4492193.html
Copyright © 2020-2023  润新知