Невозможно вызвать контроллер apex из вспомогательного класса компонента освещения. - PullRequest
0 голосов
/ 16 мая 2019

Я создаю основной компонент молнии, который получил всего одну кнопку. При нажатии этой кнопки я вызываю метод 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');
        }
    });

}

}) APEX:

            public class CustomMassDownload{

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

1 Ответ

1 голос
/ 16 мая 2019

После дальнейшего просмотра вашего кода я вижу, что вы на самом деле не вызываете свой контроллер 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);
}
...