Просто следуйте официальному документу. https://developer.salesforce.com/docs/component- библиотека/документация/lwc/lwc.use_visualforce

Я создал приложение ауры - lwcvf.app

<aura:application access="GLOBAL" extends="ltng:outApp" >
    <aura:dependency resource="lightning:button"/>
</aura:application>

И добавьте новую страницу visualforce

<apex:page >
    <apex:includeLightning />

    <div id="lightning" />

    <script>
        $Lightning.use("c:lwcvf", function() {
          $Lightning.createComponent("lightning:button",
              { label : "Press Me!" },
              "lightningvf",
              function(cmp) {
                console.log("button was created");
              }
          );
        });
    </script>
</apex:page>

Но результат не получен, и появляется сообщение об ошибке Ошибка приложения Lightning Out в функции обратного вызова.

C

Любая идея?

1
Cray Kao 6 Янв 2020 в 18:05

1 ответ

Лучший ответ

В коде, упомянутом в примере документации, есть опечатка.

Правильный код, как показано ниже

<apex:page>
<apex:includeLightning />
<div id="lightning" />

  <script>
    $Lightning.use("c:lwcvf", function () {
        $Lightning.createComponent("lightning:button",
            { label: "Press Me!" },
            "lightning",
            function (cmp) {
                console.log("button was created");
            }
        );
    });
  </script>
</apex:page>

Обратите внимание, что "lightning" – это идентификатор domLocator, в который следует внедрить Lightning DOM, а не "lightningvf"

5
Mohith Shrivastava 6 Янв 2020 в 18:15
Или, скажем, опечатка в строке -->
==>
.
 – 
Cray Kao
6 Янв 2020 в 18:25
Ага, может быть и так :)
 – 
Mohith Shrivastava
6 Янв 2020 в 18:26
Большое спасибо.
 – 
Cray Kao
6 Янв 2020 в 18:33
Добро пожаловать
 – 
Mohith Shrivastava
6 Янв 2020 в 18:46