docs: function set(key, value, opt_force, opt_data) {
  
      var type   = this.getType(key);
      var old    = this[type][key];
      var isFire = false;
  
      //设置value
      if (type === 'nodes'){
        this._setNode(key, value);
      } else{
        this[type][key] = value;
      }
  
      //判断时候触发事件
      if (type === 'attributes'){
        if (value != old || opt_force === true) isFire = true;
      } else {
        if (opt_force) isFire = 1;
      }
  
      //触发事件
      if (isFire && opt_force !== false){
  
        opt_data = opt_data || {};
        opt_data.old = old;
        opt_data.now = value;
        opt_data.target = this;
  
        this.emit('change:' + key, opt_data);
        isFire === true && this.emit('change:' + key + ':'+value, opt_data);
  
      }
  
      return this;
    }