You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

这段Aura组件JS控制器报“sendDataProc is not a function”错的原因是什么?

错误原因排查及解决

错误提示sendDataProc is not a function,核心问题是component.get("v.sendData")获取到的不是可执行函数,具体可能的原因及解决方式如下:

  • 组件属性未正确定义
    检查c:DataProcessor组件的属性声明,确保sendData被定义为Function类型。若属性类型写错(比如String、Object),获取到的值就不是函数。正确的属性声明应为:

    <aura:attribute name="sendData" type="Function" description="传递数据到VF页面的回调函数"/>
    
  • 属性未绑定有效函数
    如果是在Visualforce页面嵌入该Aura组件,需确保sendData绑定了VF页面中存在的JS函数。示例写法:

    <apex:page>
      <script>
        function handleSendData(data, callback) {
          // 处理数据并执行回调的逻辑
          callback();
        }
      </script>
      <c:DataProcessor sendData="{!handleSendData}"/>
    </apex:page>
    

    若是在Aura父组件中使用,需传递父组件内的函数引用,比如父组件标记中绑定:

    <c:DataProcessor sendData="{!c.parentSendDataFunction}"/>
    
  • 函数调用时机过早
    若downloadDocument在组件初始化完成前被触发(比如页面加载时立即调用),此时v.sendData可能未被赋值,处于undefined状态,无法作为函数调用。可以在调用前增加判断,或者确保组件初始化完成后再执行方法:

    if (typeof sendDataProc === 'function') {
      sendDataProc(dataToSend, function(){
        console.log('hello');
      });
    } else {
      console.error('sendData 属性未绑定有效函数');
    }
    

内容的提问来源于stack exchange,提问作者Harshit Chaubey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:08:08