1104.md 1.21 KB

其中部分函数 例如初始化函数53-54行

  // 重建dom
  this.fieldGroup_ = Blockly.utils.createSvgElement('g', {}, null);
  this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_);

查询了chatgpt,但具体含义不算特别了解 不知道写同类型组件时是不是照抄就好了

再例如111行

Blockly.FieldIconDropDown.prototype.setParentFieldImage = function (src) {
  if (this.imageElement_ && src) {
    this.imageElement_.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', src || '');
  }
};

经chatgpt解释

  • this.imageElement_.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', src || '');
  • this.imageElement_ 是一个图像元素,可能是一个 SVG 图像。
  • setAttributeNS 是设置元素属性的方法,使用了命名空间(namespace),这里指定了 http://www.w3.org/1999/xlink,这是用于处理链接的命名空间。
  • 'xlink:href' 是要设置的属性,表示图像的链接。
  • src || '' 表示如果 src 存在,就使用它;如果 src 为假值(例如 nullundefined),则使用空字符串 ''

但还是不太清楚这种函数是怎么写出来的 为什么要写成这样