После добавления v-bind с slot, он пропадает из $slots?

Когда вы добавляете директиву v-bind к слоту в Vue.js, она не должна пропадать из $slots. Однако, есть некоторые важные моменты, которые следует учитывать.

По умолчанию, содержимое слотов предоставляется в хот-релоевый контекст, которые хранит директивы, которые были применены в содержимом слота. Когда вы используете v-bind для передачи данных в слот, эти данные заменяют контекст предоставленный по умолчанию.

К примеру, предположим, что у вас есть родительский компонент, содержащий слот с именем mySlot. Директива v-bind может быть добавлена ко входным параметрам слота, указывая компоненту-родителю, что значение входного параметра должно быть привязано к определенному свойству в родительском компоненте. В этом случае, значение слота $slots.mySlot будет замещено значением, указанном в родительском компоненте.

Важно отметить, что если v-bind применяется ко всему слоту, то содержимое слота, переданное из родителя, будет полностью замещено. Однако, если v-bind применяется только к некоторым входным параметрам слота, то остальная часть содержимого слота останется нетронутой.

Также обратите внимание, что при передаче данных с помощью v-bind, эти данные можно использовать и в компонентах-потомках, которые могут включать в себя данный слот. Они будут иметь доступ к переданным данным через $slots.

В то же время, если вы не передаете данные с помощью v-bind и весь контент слота остается нетронутым, его значение по-прежнему будет доступно в $slots.

Таким образом, при использовании v-bind с слотами в Vue.js, они не должны пропадать из $slots. Значение слота может быть заменено, если применена директива v-bind ко всему содержимому слота, или некоторые входные параметры слота могут быть привязаны к значениям, переданным из родительского компонента.