Как интерфейсные Javascript фреймворки (например, Vue. js) используют пользовательские элементы без использования веб-компонентов? - PullRequest
1 голос
/ 26 апреля 2020

Я понимаю, что это вопрос новичка. Я опытный на заднем плане, но не на переднем конце. Вот пример приложения Vue. js:

<!DOCTYPE html>
<html>
  <head>
    <title>My first Vue app</title>
    <script src="https://unpkg.com/vue"></script>
  </head>
  <body>
    <div id="app">
      <ol>
        <!-- Create an instance of the todo-item component -->
        <todo-item></todo-item>
      </ol>
    </div>

    <script>
      // Define a new component called todo-item
      Vue.component("todo-item", {
        template: "<li>This is a todo</li>"
      });
      var app = new Vue({
        el: "#app",
      });
    </script>
  </body>
</html>

Я не понимаю, как любой браузер принимает это, потому что <todo-item> не является допустимым HTML элементом. Я знаю, что «Веб-компоненты» существуют c, но в документации Vue говорится, что он не использует веб-компоненты .

(Моя догадка заключается в том, что он использует что-то простое, например document.getElementsByTagName('todo-item');, и заменяет элементы действительными HTML. Часть меня удивлена, что пользовательские элементы вообще добавляются в DOM, чтобы этот метод работал.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...