Вопрос об исходном коде Vue. js в функции _createElement () - PullRequest
0 голосов
/ 08 мая 2020

В _createElement, я хочу спросить, совпадает ли data.is с v-bind:is?

https://github.com/vuejs/vue/blob/0baa129d4cad44cf1847b0eaf07e95d4c71ab494/src/core/vdom/create-element.js#L64

Почему tag = data.is?

Спасибо каждому респонденту!

Picture of the code

1 Ответ

0 голосов
/ 08 мая 2020

Как следует из комментария в коде, эта строка предназначена специально для обработки случая, когда is включен в объект v-bind. например:

<component v-bind="{ is: 'button' }">Button</component>

Вы можете убедиться в этом, установив точку останова в браузере на этой строке. Я использую Webpack и Chrome, и соответствующий файл отображается под webpack:///./node_modules/vue/dist/vue.esm.js на вкладке Sources . Быстрый поиск _createElement и щелчок на поле, чтобы установить точку останова.

В приведенном выше примере значение is предназначено для использования в качестве tag, тогда как component - это просто фиктивное значение. тег, который можно отбросить.

Синтаксис выше эквивалентен:

<component is="button">Button</component>

или:

<button>Button</button>

Однако ни один из этих двух примеров не будет go в соответствующий раздел if. В этих двух других случаях tag уже разрешено правильно до этого момента.

...