<template>
    <lightning-card title="AllContacts">
        <ul>
            <template if:true={responseReceived}>

                <template for:each={contacts.data} for:item="contact">
                <p key={contact.id}>
                        {contact.lastname}
                </p>
                </template>
            </template>
            <template if:false={msg}></template>
        </ul>
    </lightning-card>
</template>

JS

import { LightningElement,wire,track } from 'lwc';
import getAllContacts from '@salesforce/apex/Message.getInpMessage'
export default class AccountManagerApex extends LightningElement {
@track contacts;
    @wire(getAllContacts) 
    contacts;
    msg="error";
    get responseReceived(){
        if(this.accounts){
            return true;
        }
        return false;
    }

}

Вершина:

public with sharing class Message {
    @AuraEnabled(cacheable=true)
    public static List<contact> getInpMessage() {
        return [select id,lastname from contact];
    }
}
0
manjit5190 12 Май 2020 в 12:05

1 ответ

Вы привязываете wire к переменной contacts, но проверяете this.accounts в responseReceived

Измените метод responseReceived

get responseReceived(){
        if(this.contacts){
            return true;
        }
        return false;
    }

Также LWC чувствителен к регистру. Таким образом, идентификатор и фамилия должны иметь правильный регистр

<p key={contact.Id}>
     {contact.Lastname}
</p>
1
Pranay Jaiswal 12 Май 2020 в 12:26
Я собирался ответить на это .. хе-хе: D кстати, да, это может быть решением. :)
 – 
Sahil Malhotra
12 Май 2020 в 12:28
get responseReceived(){ return !!this.contacts; } будет стандартным способом выполнения этой проверки в JavaScript.
 – 
sfdcfox
12 Май 2020 в 16:26