我大致按照这篇文章做了一个组件可拖动:
<template>
<div ref="draggableContainer" class="draggable-container">
<div class="draggable-header" @mousedown="dragMouseDown">
<slot name="dragger"></slot>
</div>
<slot></slot>
</div>
</template>
然后在我的Calculator.vue
组件中我有:
<template>
<Draggable class="calculator">
<input type="text" class="calculator-screen" slot="dragger" value="" />
<div class="calculator-keys">
<button type="button" class="operator" value="+">+</button>
<button type="button" class="operator" value="-">-</button>
<button type="button" class="operator" value="*">×</button>
<button type="button" class="operator" value="/">÷</button>
<button type="button" value="7">7</button>
<button type="button" value="8">8</button>
<button type="button" value="9">9</button>
<button type="button" value="4">4</button>
<button type="button" value="5">5</button>
<button type="button" value="6">6</button>
<button type="button" value="1">1</button>
<button type="button" value="2">2</button>
<button type="button" value="3">3</button>
<button type="button" value="0">0</button>
<button type="button" class="decimal" value=".">.</button>
<button type="button" class="all-clear" value="all-clear">AC</button>
<button type="button" class="equal-sign operator" value="=">=</button>
</div>
</Draggable>
</template>
这两个组件slot
以不同的方式使用,在draggable-maker
作为标签中,在计算器中作为属性。但是,由于使用了 s.vue ,这与 Vue 3 不兼容slot
。这是我得到的错误:
有人可以建议我如何解决这个问题吗?