繁体   English   中英

无法从Lightning组件的帮助器类调用Apex控制器

[英]Not able to call apex controller from lightning component's helper class

我正在创建一个只有一个按钮的基本闪电组件。 单击此按钮后,我正在调用返回字符串的apex方法。 由于某些原因,每当我单击该按钮时,都不会得到任何回应。 在控制台,闪电事件日志和调试日志中,我没有收到任何错误。 我不知道发生了什么以及如何调试它。 请帮忙。

我尝试在事件日志,调试日志和控制台上对其进行调试。 无法弄清楚。 请帮忙!

            COMPONENT: 
            <aura:component controller="CustomMassDownload" implements="force:appHostable,force:hasRecordId,flexipage:availableForAllPageTypes,force:lightningQuickAction" access="global" > 

                <div class="slds-p-top_xx-large">
                       <button type="button" onclick="{!c.downloadFile}" >Download</button> 
                </div>
            </aura:component>

            CONTROLLER:
            ({
                downloadFile : function(component, event, helper) {
                    console.log('why?');
                    helper.getString(component,event,helper);
                }
            })

            HELPER:

            ({
getString : function(component,event,helper) {
    console.log('owl');
    var action = component.get("c.ReturnString");
    action.setParams({
        abc: "djflskj"
    });
    console.log('puppy' + action);
    action.setCallback(this,function(response){
        console.log('issuccess');
        var state = response.getState();
        if(state === "SUCCESS"){
            console.log('love');
        }else{
            console.log('hate');
        }
    });

}

}) 顶尖:

            public class CustomMassDownload{

                @AuraEnabled
                public static String ReturnString(String abc){
                system.debug('aaaaaaaaaa');
                return abc;
                }
            }

进一步查看您的代码后,我发现您实际上并没有在调用apex控制器。

您需要将$A.enqueueAction添加到getString

getString : function(component,event,helper) {
    console.log('owl');
    var action = component.get("c.ReturnString");
    action.setParams({
        abc: "djflskj"
    });
    console.log('puppy' + action);
    action.setCallback(this,function(response){
        console.log('issuccess');
        var state = response.getState();
        if(state === "SUCCESS"){
            console.log('love');
        }else{
            console.log('hate');
        }
    });
    $A.enqueueAction(action);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM